Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Mehrere Zeilen auslesen Kombinationsfeld

VBA Mehrere Zeilen auslesen Kombinationsfeld
13.01.2020 14:53:29
Stefan
Hallo zusammen,
ich versuche gerade ein Programm mit VBA für eine Betriebskostenabrechnung zu schreiben.
Leider stoße ich aktuell an meine bescheidenen VBA-Kentnisse und erhoffe mir hier ein paar Denkanstöße bzw. Lösungsansätze.
Über ein UserForm kann ein Objekt angelegt werden, das klappt einwandfrei.
Die Objektdaten werden in verschiedenen Spalten gespeichert.. Objektnr, Straße, Hausnr, PLZ, Ort, ...
Nun soll über ein weiteres UserForm entsprechende Mieterdaten eingetragen werden. Damit der Mieter einem Objekt zugeordnet werden kann, soll über ein Kombinationsfeld eine Auswahl der Objekte stattfinden.
Eindeutig identifiziert werden die Objekte über die Objektnr (fortlaufend).
Meine Idee:
Im Kombinationsfeld wird Straße, Hausnummer, PLZ und Ort angezeigt und in einem versteckten Textfeld die entsprechende Objektnr.
Beim Speichern der Mieterdaten soll dann die versteckte Objektnr übernommen werden.
Mein Ansatz sieht bisher so aus:

Worksheets("Objekte").Activate 'Tabellenblatt aktivieren
Dim ObjektId As Integer 'Objektnr
Dim maxObjekte as Long 'Anzahl der Einträge
Dim Objekt As String 'Objekt bestehend aus Straße, Hausnummer, PLZ und Ort
maxObjekte = ActiveSheet.UsedRange.Row.Count 'Anzahl der Einträge
ObjektId = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 'ObjektId in Spalte 1
'Hier kommt mein Problem. Ich weiß nicht, wie ich die Abfrage gestalten soll
With Worksheets("Objekte")
form_add_renter.addRenterObjekt.RowSource = "B1:B5"
End With
form_add_renter.addRenterObjekt.ListIndex = 1
Bei der Zusammenfühung bzw. dem Füllen des Kombinationsfeldes stoße ich nun an meine Grenzen.
Von der Logik her müsste ich nun Zeile für Zeile durchgehen und die Daten aneinandergereiht in das Kombinationsfeld eingeben. Leider weiß ich nicht, wie diese Abfrage zu gestalten ist.
Es wäre super, hier einen Sntoß bzw. Lösungsansatz zu erhalten.
Vielen Dank vorab für Eure Mühe!
Grüße
Stefan
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Mehrere Zeilen auslesen Kombinationsfeld
13.01.2020 16:01:00
Stefan
Bin nun einen Schritt weiter..

Private Sub UserForm_Initialize()
'Kombinationsfeld Objekte füllen
Worksheets("Objekte").Activate
Dim ObjektId As Integer
Dim maxObjekte As Long
Dim Objekt As String
maxObjekte = WorksheetFunction.CountA(ActiveSheet.Range("A:A")) - 1
ObjektId = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
'MsgBox maxObjekte
With Worksheets("Objekte")
For i = 2 To maxObjekte
Objekt = ActiveSheet.Cells(i, 2).Value & " " & ActiveSheet.Cells(i, 3).Value & ", " &  _
ActiveSheet.Cells(i, 4).Value & " " & ActiveSheet.Cells(i, 5).Value
form_add_renter.addRenterObjekt.AddItem = Objekt
Next
'form_add_renter.addRenterObjekt.RowSource = "B1:B5"
End With
End Sub
Aktuell kommt die Fehlermeldung
"Function oder Variable erwartet"
Viele Grüße
Anzeige
AW: VBA Mehrere Zeilen auslesen Kombinationsfeld
13.01.2020 16:17:22
Stefan
Habe es geschafft :-)
Gibt es noch etwas zu optimieren?

'Kombinationsfeld Objekte füllen
Worksheets("Objekte").Activate
Dim ObjektId As Integer
Dim maxObjekte As Long
Dim Objekt As String
maxObjekte = WorksheetFunction.CountA(ActiveSheet.Range("A:A"))
ObjektId = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
'MsgBox maxObjekte
With Worksheets("Objekte")
For i = 2 To maxObjekte
Objekt = ActiveSheet.Cells(i, 1).Value & " - " & ActiveSheet.Cells(i, 2).Value & " " &  _
ActiveSheet.Cells(i, 3).Value & ", " & ActiveSheet.Cells(i, 4).Value & " " & ActiveSheet.Cells(i, 5).Value
form_add_renter.addRenterObjekt.AddItem Objekt
Next
form_add_renter.addRenterObjekt.ListIndex = 0
End With

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige