![Excel: Strukturiertes Hinzufügen weiterer Informationen zu einer Zelle](https://rvso.com/image/1543366/Excel%3A%20Strukturiertes%20Hinzuf%C3%BCgen%20weiterer%20Informationen%20zu%20einer%20Zelle.png)
Ich habe eine Excel-Tabelle mit einem Plan für ein Jahr. Ich verwende Wochen als Spalten und einen Farbindikator für die Wochen, in denen „Sachen“ passieren.
So was:
Meine Frage lautet: Gibt es eine Möglichkeit (integriert oder mithilfe von Add-Ons), dieser Zelle strukturierter Informationen hinzuzufügen?
Ich denke vielleicht an ein kleines Formular mit
- Name
- Beschreibung
- Budget
- Blabla
- Foo
Auf diese Weise könnte ich den Überblick behalten und gleichzeitig jeder Zelle weitere Informationen hinzufügen.
Kennt jemand einen Weg, dies zu erreichen?
Antwort1
Schließlich habe ich ein Benutzerformular mit einigen Textfeldern und einer Schaltfläche zum Speichern der Werte in derselben Spalte/Zeile in einem anderen Blatt namens „Daten“ erstellt.
Etwas wie das:
Dim xml As String
xml = xml + "<CellDetails>"
xml = xml + " <Budget>" + UserForm1.txtBudget.Text + "</Budget>"
xml = xml + " <Comments>" + UserForm1.txtComments.Text + "</Comments>"
xml = xml + " <StartDate>" + Format(MonthView1.Value, "yyyy-mm-dd") + "</StartDate>"
xml = xml + " <EndDate>" + Format(MonthView2.Value, "yyyy-mm-dd") + "</EndDate>"
xml = xml + "</CellDetails>"
ThisWorkbook.Sheets("Data").Range(Selection.Address).Value = xml
Dann löse ich dies vom Blatt aus mithilfe eines Ereignis-Listeners beim „Rechtsklick“ auf eine Zelle aus und fülle die Formularsteuerelemente mit den Werten.
Private Sub Workbook_SheetBeforeRightClick (ByVal Sh als Objekt, ByVal Ziel als Bereich, Abbrechen als Boolescher Wert)
Bei Fehler Fortsetzen Weiter
' Dies wird nur ausgelöst, wenn die Strg-Taste gedrückt ist. Wenn IsControlKeyDown() = True, dann
If Not ThisWorkbook.Sheets("Data").Range(Selection.Address).Value = "" Then
Dim XDoc As MSXML2.DOMDocument
Set XDoc = CreateObject("MSXML2.DOMDocument")
XDoc.LoadXML (ThisWorkbook.Sheets("Data").Range(Selection.Address).Value)
' Setting the form values
UserForm1.txtBudget.Text = XDoc.SelectSingleNode("//CellDetails/Budget").Text
UserForm1.txtComments.Text = XDoc.SelectSingleNode("//CellDetails/Comments").Text
' Setting the dates
UserForm1.MonthView1.Value = CDate(XDoc.SelectSingleNode("//CellDetails/StartDate").Text)
UserForm1.lbStartDate = XDoc.SelectSingleNode("//CellDetails/StartDate").Text
UserForm1.MonthView2.Value = CDate(XDoc.SelectSingleNode("//CellDetails/EndDate").Text)
UserForm1.lbEndDate = XDoc.SelectSingleNode("//CellDetails/EndDate").Text
End If
UserForm1.Show
Cancel = True
End If
On Error GoTo 0
End Sub