Doch auf die Idee, einfach nur SelectedItem dahinter zu setzen, wäre ich wohl nie gekommen.
Du hattest im Konkreten eine klare Fehlermeldung die hieß
"Eigenschaft oder Methode nicht gefunden: Text". Schaue in die Codezeile:
Code: Alles auswählen
oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").Text
und Du siehst das Text (also: .Text) zum Objekt "Dlg_Kosten.getControl("ListBox_Kennzeichen")" gehört. Deshalb kommentiere die gesamte Code-Zeile temporär aus und schreibe eine Debuganweisung darunter:
Code: Alles auswählen
'oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").Text
Msgbox Dlg_Kosten.getControl("ListBox_Kennzeichen").dbg_properties
wenn Du nun das Makro laufen lässt werden Dir alle Eigenschaften des Objekts angezeigt:
- dbg_properties_für_Listbox.gif (17.29 KiB) 4787 mal betrachtet
und Du siehst schon einmal das es dort keine Text-Eigenschaft gibt, weshalb diese falsch sein muss. Welche hingegen die richtige Eigenschaft ist kannst Du nur herausbekommen indem Du alle Eigenschaften die aufgelistet sind durchgehst bis Du die Passende findest. Das wird am Anfang lange dauern, die Übung (bzw. das Erfahrungswissen) kommt erst mit der Zeit.
Da in der Fehlermeldung steht "Eigenschaft ODER Methode" musst Du, wenn Du nicht weist das "Text" eine Eigenschaft und keine Methode ist, das Ganze nochmals durchführen mit:
Code: Alles auswählen
'oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").Text
Msgbox Dlg_Kosten.getControl("ListBox_Kennzeichen").dbg_methods
und alle Methoden durchgehen.
Vielleicht ein kleiner Tipp
mutmaßlich sollte gehen:
Code: Alles auswählen
osheet.getCellRangeByName("H" & End_Row).Formula = "=SUM(E" & End_Row & ":F" & End_Row & ")"
evtl. muss der Index um 1 höher sein (weil z.B. A1 ja den Zeilenindex 0 hat):
Code: Alles auswählen
osheet.getCellRangeByName("H" & End_Row+1).Formula = "=SUM(E" & End_Row+1 & ":F" & End_Row+1 & ")"
Gruß
Stephan
[quote]Doch auf die Idee, einfach nur SelectedItem dahinter zu setzen, wäre ich wohl nie gekommen.[/quote]
Du hattest im Konkreten eine klare Fehlermeldung die hieß[i] "Eigenschaft oder Methode nicht gefunden: Text"[/i]. Schaue in die Codezeile:
[code]oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").Text
[/code]
und Du siehst das Text (also: .Text) zum Objekt "Dlg_Kosten.getControl("ListBox_Kennzeichen")" gehört. Deshalb kommentiere die gesamte Code-Zeile temporär aus und schreibe eine Debuganweisung darunter:
[code]'oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").Text
Msgbox Dlg_Kosten.getControl("ListBox_Kennzeichen").dbg_properties[/code]
wenn Du nun das Makro laufen lässt werden Dir alle Eigenschaften des Objekts angezeigt:
[attachment=0]dbg_properties_für_Listbox.gif[/attachment]
und Du siehst schon einmal das es dort keine Text-Eigenschaft gibt, weshalb diese falsch sein muss. Welche hingegen die richtige Eigenschaft ist kannst Du nur herausbekommen indem Du alle Eigenschaften die aufgelistet sind durchgehst bis Du die Passende findest. Das wird am Anfang lange dauern, die Übung (bzw. das Erfahrungswissen) kommt erst mit der Zeit.
Da in der Fehlermeldung steht "Eigenschaft ODER Methode" musst Du, wenn Du nicht weist das "Text" eine Eigenschaft und keine Methode ist, das Ganze nochmals durchführen mit:
[code]'oSheet.getCellRangeByName("B" & End_Row).String = Dlg_Kosten.getControl("ListBox_Kennzeichen").Text
Msgbox Dlg_Kosten.getControl("ListBox_Kennzeichen").dbg_methods[/code]
und alle Methoden durchgehen.
[quote]Vielleicht ein kleiner Tipp
[/quote]mutmaßlich sollte gehen:
[code]osheet.getCellRangeByName("H" & End_Row).Formula = "=SUM(E" & End_Row & ":F" & End_Row & ")"
[/code]
evtl. muss der Index um 1 höher sein (weil z.B. A1 ja den Zeilenindex 0 hat):
[code]osheet.getCellRangeByName("H" & End_Row+1).Formula = "=SUM(E" & End_Row+1 & ":F" & End_Row+1 & ")"
[/code]
Gruß
Stephan