Clever-Excel-Forum

Normale Version: VBA Schleife
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Super daran hat's gelegen aber jetzt habe ich folgendes Problem

For i1 = -1 To Max1
 ComboBoxFrame1.ListIndex = 0       'Hier nimmt er nur denn ersten wert ?
  BuchungAnzeige1 = ComboBoxFrame1.Text
   Call zerlegen1
     Next i1

Er nimmt mir nur den ersten Eintrag in der Combobox
wie kann ich es machen das er alle nimmt??

lg Flo

PS. In die Zeilen kann ich immer noch nicht schrieben Blush
Hallo Florian,


Zitat:Frage an Klaus,

Was währe dann Besser?
denn alle Eingaben sind eine Buchung.

ohne deine Datei zu kennen, ist es schlecht Vorschläge zu machen. Die Inhalte einer Buchung können (müssen) doch auf mehrere Variablen verteilt sein. Ein Datensatz (Buchung) ist eine Zeile in deiner Liste. Jede Spalte hat eine Variable, oder ich habe die EDV nicht verstanden.
Hallo Florian,

(08.05.2018, 09:54)Florian20 schrieb: [ -> ]Er nimmt mir nur den ersten Eintrag in der Combobox
wie kann ich es machen das er alle nimmt??

ist klar, wenn Du das fest verdrahtest, kann Excel immer nur den ersten Eintrag nehmen.

Code:
For i1 = 0 To Max1 'Startpunkt geändert
ComboBoxFrame1.ListIndex = i1       ' Und jetzt?
  BuchungAnzeige1 = ComboBoxFrame1.Text
   Call zerlegen1
     Next i1
Stimmt ja so könnte Ich es auch machen aber das ist doch viel umständlicher so.

Da schriebe Ich lieber alles in eine Variable und zerlege diese dann wieder!

PS. Antwort an Klaus
Hallo Florian,

zeige mir deine Datei und ich beweise dir das Gegenteil.
OK hier meine Datei. Blush
Guten Morgen an alle,
Also Ich habe gestern selber den ganzen Tag probiert dahinter zu kommen aber schaffe es nicht Huh
Ich wollte nur mal wissen ob vielleicht doch noch jemand eine Idee hat?

Lg Flo
Hallo nochmal habe es jetzt Geschaft es hat an dem .listIndex gelegen da dieser immer -1 ist. :19:

Hier mein Code:

Private Sub ÜbernehmenButton_Click()
'Überträgt die Daten in die Tabelle
Dim i1 As Long, i2 As Long, i3 As Long
Dim Max1 As Long, Max2 As Long, Max3 As Long
 
  Max1 = ComboBoxFrame1.ListCount   'Hier .ListCount dann geht's

'Combobox 1 leeren und setzten in Tabelle
For i1 = 0 To Max1
 ComboBoxFrame1.ListIndex = i1
  BuchungAnzeige1 = ComboBoxFrame1.Text
   Call zerlegen1
     Next i1
   
ActiveWorkbook.Save
     ComboBoxFrame1.Clear
  Unload Me
End Sub
Seiten: 1 2