Daten Übertragung mit Dialogfenster und Abfrage
#31
OK, der fehler ist weg aber meine ComboBox ist leer und ich habe auch keine Daten in der Listbox

muss ich in den Code von ComnoBox was ändern?

Code:
Private Sub ComboBox1_Change()
ListBox1.Clear
'Variablendeklarationen - Integer (%)
Dim icnt1%, icnt2%
'Schleifenzaehler auf 4 setzen (Anfangszeile in Quelle)
icnt1 = 18
'Schleife solange bis in Spalte 4 eine Zelle ohne Inhalt kommt
Do While Cells(icnt1, 38) <> ""
  'Wenn der Zellinhalt der Auswahl entspricht, dann
  If Cells(icnt1, 38).Value = Val(Me.ComboBox1.Value) Then
    'Mit der Listbox ... (fuellen)
    With Me.ListBox1
      'Eintrag aus Spalte 1 hinzufuegen
      .AddItem Cells(icnt1, 38).Value
      'Schleife ueber weitere Zellen der Zeile
      For icnt2 = 1 To 13
        'weitere EIntraege der Zeile hinzufuegen
        .List(.ListCount - 1, icnt2) = Cells(icnt1, icnt2 + 1).Value
      'Ende Schleife ueber weitere Zellen der Zeile
      Next
    'Ende Mit der Listbox ... (fuellen)
    End With
  'Ende Wenn der Zellinhalt der Auswahl entspricht, dann
  End If
  'Schleifenzaehler iCnt1 hochsetzen
  icnt1 = icnt1 + 1
'Ende Schleife solange bis in Spalte 4 eine Zelle ohne Inhalt kommt
Loop
End Sub

Nochmal ich will 13 Werte aus der gesamte Tabelle in der Listbox sehen und diese in die Zieltabelle übertragen
Top
#32
Hallöchen,

wenn Deine Combo leer ist liegt das nicht am Code der Combo sondern am Userform-Code.
Ich hatte Dich ja in #21 schon auf die 38 hingewiesen. In #27 steht sie immer noch im Code ... Ist das denn korrekt, geht Deine Liste erst in Zeile 38 los?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#33
aber du hast doch den code für die userform umgeschrieben oder brauche ich jetzt zwei?

Und wenn ich die 18 reinschreibe dann sehe die Werte von 18 Zelle und bei 38 sehe die Werte von 38 Zelle in der Kleine Kästchen
Top
#34
Hallöchen,
Du hast doch geschrieben dass Du in der Combobox nix siehst. In Deinem Beispiel gehen die Daten in Zeile 18 los, in Zeile 38 steht nix. Wenn der Code in Zeile 38 beginnt wirst Du so lange nix in der Combobox haben wie Du das nicht änderst.
Wenn dann wieder in der Combobox die korrekten Daten stehen können wir im nächsten Schritt schauen was mit der Listbox ist.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#35
ich verstehe gar nichts mehr, der neue Code enthält doch weder 18 noch 38
Top
#36
Hallo,

welchen Code meinst Du? Deinen ComboBox_Change-Code oder den Userform_Initialize-Code von André?
Gruß Stefan
Win 10 / Office 2016
Top
#37
Hallöchen,

es geht um Userform_Initialize. In #27 wurde als zweites dieser Code gepostet:

Code:
Private Sub UserForm_Initialize()
'Variablendeklarationen - Integer (%)
Dim iCnt%
'Zaehler auf 4 setzen
iCnt = 38
'Schleife solange bis in Spalte 4 eine Zelle ohne Inhalt kommt
Do While Cells(iCnt, 38) <> ""
  'Wenn der Zellinhalt unterschiedlich zum vorherigen Eintrag ist, dann in Combo uebernehmen
  If Cells(iCnt, 38).Value <> Cells(iCnt - 1, 38).Value Then Me.ComboBox1.AddItem Cells(iCnt, 38).Value
  'Schleifenzehler hochsetzen
  iCnt = iCnt + 1
'Ende Schleife solange bis in Spalte 4 eine Zelle ohne Inhalt kommt
Loop
End Sub


Der Kommentar beschreibt noch die Zeile 4 - ursprünglich ging das mal in D4 los.

Im ersten in #27 geposteten Code - ComboBox1 … der dem Füllen der Listbox dient - steht

'Schleifenzaehler auf 18 setzen (Anfangszeile in Quelle)
iCnt1 = 18

Wenn nun die Daten in Zeile 18 beginnen, muss natürlich auch im Userform_Initialize beim Zeilenzähler statt icnt=38 dann icnt=18 stehen, um die Combobox korrekt zu füllen.

Die andere 38, bei Cells(icnt, 38) steht für die Spalte … Die Syntaxbeschreibung für Cells ist

Cells(zeile, spalte) 

Im Code steht also icnt für die Zeile und die fest programmierte 38, wie gesagt, für die Spalte.

… eventuell gab es zwischenzeitlich schon aktualisierte Beispieldateien, die dem geänderten Aufbau entsprechen und ich hab das übersehen. Falls nicht, wäre es angebracht ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#38
Hallo Andre,


Zitat:Wenn nun die Daten in Zeile 18 beginnen, muss natürlich auch im Userform_Initialize beim Zeilenzähler statt icnt=38 dann icnt=18 stehen, um die Combobox korrekt zu füllen.



Nein das Stimmt nicht, wenn  ich in die UserForm_Initialize() iCnt = 18 definiere, dann sehe ich die Daten aus der Zelle 18, iCnt = 38 definiere dann sehe ich aus die Daten aus der Zelle 38 und die ComboBox wird mit den nötigen daten gefüllt. 

Dabei aber trift der fehler auf welche ich in der 25 beschrieben habe.

mein Problem ist das ich keine Daten in der Listbox bekommen
Top
#39
… wie gesagt, poste mal Beispiele mit dem aktuellen Aufbau sonst diskutieren wir im Herbst noch darüber :15:
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#40
… und zuvor noch ein Hinweis. Wenn im Userform_Initialize die 38 korrekt ist, dann ist im Combobox1-Makro die 18 falsch.
Sollte eigentlich inzwischen klar sein, nachdem ich mehrfach anders rum geschrieben habe, dass im UF auch 18 stehen müsste wie bei der CB ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


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