VBA Schleife
#1
Guten morgen liebes Forum,

Ich habe mal wieder keine Ahnung wie Ich das ganze jetzt mache.
Ich habe eine UF mit einer Combobox, diese wird über eine Schleife gefüllt.    das Klapp auch Blush
Aber nun möchte Ich diese Combobox mit einer Schleife lesen.

Die werte in der box möchte ich von links nach rechts in A - H schreiben, wenn die Zellen voll sind dann nächste Zeile.
Das Klapp nur noch nicht Huh

Lg Flo


PS. Hier mein Code aus der UF:

Private Sub ÜbernehmenButton_Click()
'Überträgt die Daten in die Tabelle
Dim i1 As Integer
Dim Max1
 
Max1 = ComboBoxFrame1.ListIndex

'Combobox 1 leeren und setzten in Tabelle
For i1 = -1 To Max1
 BuchungAnzeige1 = ComboBoxFrame1.Value  'Werte aus Combobox geht nicht
  Call zerlegen1
   Next i1

    ActiveWorkbook.Save
     ComboBoxFrame1.Clear
  Unload Me
End Sub

Hier Modul1:

Option Explicit
Public Buchung As String
Public BuchungAnzeige1 As String

Public Sub zerlegen1()
'zerlegt die Variable in Combobox wieder in einzelteile
'Um sie in das Tabellenblatt zu schreiben

Dim strText As String
Dim vArray As Variant
Dim i As Integer
 
 strText = BuchungAnzeige1
  vArray = VBA.Split(strText, "/")
   For i = 0 To UBound(vArray)
    MsgBox vArray(i)   'Hier die Anzeige der Einzelnen Strings das klapp nur in die Zelle A - H geht nicht
     Next i
End Sub
Top
#2
Hallo Florian,

Code:
With ActiveSheet
      lngLastrow = .Cells(.Rows.Count, 1).End(xlUp).Row 'bitte Variable deklarieren
      For i = 0 To UBound(vArray)
         .Cells(lngLastrow, i) = vvArray(i)
         'MsgBox vArray(i)   'Hier die Anzeige der Einzelnen Strings das klapp nur in die Zelle A - H geht nicht
      Next i
   End With
Gruß Stefan
Win 10 / Office 2016
Top
#3
Hallo Stefan,
Danke für die Schnelle Antwort.
Das habe Ich zwar auch schon probiert aber das geht nicht. Undecided  (Es passiert gar nichts)
Ich habe ja auch noch das Problem das die Combobox nicht gelesen wird.

Der Code in der UF wird einfach übersprungen??

Lg Flo
Top
#4
Hallo,

beschreibe doch bitte etwas ausführlicher, was du da machen willst. Üblicherweise verwendet man ein Kombinationsfeld, um einzelne Werte daraus an anderer Stelle einzutragen. Das komplette Objekt auslesen macht für mich keinen Sinn.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#5
Hallo Florian,
(08.05.2018, 09:05)Florian20 schrieb: Der Code in der UF wird einfach übersprungen??

setze einen Haltepunkt (F9-Taste) in der Sub ÜbernehmenButton_Click und zwar am besten in der Codezeile Max1 = Combo.......
und mit der F8-Taste (Einzelschrittmodus) kommst Du Zeile für Zeile weiter im Code.
Gruß Stefan
Win 10 / Office 2016
Top
#6
Meine Erklärung,

Ich habe eine UF in der Name, Straße, PLZ , Ort , E-Mail, An Reise, Ab Reise, Apartment.
in TextBoxen, DTPicker, OptionButtons. eingegeben wird.

Alle diese Eingaben sind zusammen gefasst in einer Variable.
Je nach Auswahl welcher OptionButton geklickt wurde, wird die Variable in die entsprechende Combobox eingetragen.

Diese Combobox will ich im Anschluss auslesen und in die Tabelle1 ab Zeile2  eintragen.

Lg Flo

PS. Die Variable ("Buchung") sieht dann so aus:
Test/Test/test/////12.02.2018/00.00.0000/1

Name = Test
Straße =Test
PLZ = Test
alles andere ist im BSP. leer
An Reise = 12.02.2018
Ab Reise = 00.00.0000
Apartment = 1
Top
#7
Hallo,


Zitat:Alle diese Eingaben sind zusammen gefasst in einer Variable.


das halte ich für ein ganz schlechtes Vorgehen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#8
Antwort an Stefan,

BuchungAnzeige1 = ComboBoxFrame1.Value

BuchungAnzeige1 =Leer

ComboBoxFrame1.Value = ""

Also ist der wert in der Combobox nicht gelesen worden aber warum ??
Top
#9
Frage an Klaus,

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

Also muss alles irgendwo zusammen gefasst sein!
Top
#10
Hallo Florian,

wahrscheinlich ist dann in der Combobox kein Wert ausgewählt.
Gruß Stefan
Win 10 / Office 2016
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste