Registriert seit: 03.10.2018
Version(en): 2016
26.05.2020, 12:55
(Dieser Beitrag wurde zuletzt bearbeitet: 26.05.2020, 12:55 von Pirat2015.)
If Len(Me.ComboBox1.Value) <> 6 Then Exit Sub
Was bedeutet das, ich habe in meine Tabelle verschiedene längen von Bestellnummer 6,8,10,12?
Ich habe jetzt das If Len(Me.ComboBox1.Value) <> 6 Then Exit Sub rausgenommen und es läuft aber wenn die Combobox leer ist, dann habe ich so zusagen alle daten drine und das program stürtz jedesmal ab, wie kann ich das verhindern
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo,
ich habe mich nach deiner Beispieldatei gerichtet und da gab es nur sechsstellige Bestellnummern. Wenn es noch andere Varianten gibt, ist diese natürlich unpassend. Ich habe für die Lösung des Problems keinen Ansatz und verabschiede mich aus diesem Thread.
Gruß Stefan Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28
• Pirat2015
Registriert seit: 03.10.2018
Version(en): 2016
Danke trotzdem für deine Unterstützung
Registriert seit: 03.10.2018
Version(en): 2016
27.05.2020, 07:11
(Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2020, 07:11 von Pirat2015.)
Andre, kannst du eventuell helfen? Ich habe momentan folgendes Problem: Wenn ich in die Combo Box Bestellnummer angeben, dann bekomme ich auch Daten angezeigt. Soweit alles OK. Wenn ich aber jetzt versuche die Bestellnummer aus der Combo Box zu löschen, weil ich mich vertippt habe oder weil ich eine andere eingeben möchte, hängt sich das Makro auf und es dauert lange bis es wieder die Daten anzeigt. Wie kann ich das verhindern: hier ist der Code: Code: Private Sub ComboBox1_Change() ListBox1.Clear 'Variablendeklarationen - Integer (%) Dim icnt1%, icnt2% Dim vntSpalten As Variant Dim vntArray() As Variant Dim lngC As Long, lngA As Long, lngB As Long 'Schleifenzaehler auf 4 setzen (Anfangszeile in Quelle) If Len(Me.ComboBox1.Value) >= 11 Then Exit Sub icnt1 = 18 'die Spalten, die in die Listbox kommen sollen vntSpalten = Array(14, 21, 22, 24, 25, 29, 30, 32, 38, 39, 42, 62, 63, 64) 'Schleife solange bis in Spalte 4 eine Zelle ohne Inhalt kommt lngC = WorksheetFunction.CountIf(Columns(38), Me.ComboBox1.Value) If lngC > 0 Then ReDim vntArray(0 To lngC - 1, 0 To UBound(vntSpalten)) 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) For lngA = 0 To UBound(vntSpalten) vntArray(lngB, lngA) = Cells(icnt1, vntSpalten(lngA)).Value Next lngA lngB = lngB + 1 '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 Me.ListBox1.List = vntArray Else MsgBox "Bestellnummer nicht gefunden" End If End Sub
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
27.05.2020, 19:18
(Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2020, 19:18 von schauan.)
Hallöchen,
Du bauchst doch nur eine andere Nummer zu wählen .. Warum willst Du etwas löschen oder eingeben? Du könntest noch die Style-Eigenschaft der Combo ändern und dann gehen nur korrekte Inhalte.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 03.10.2018
Version(en): 2016
Ich habe in meine Tabelle 100 Bestellnummer und ich kann doch nicht alle Bestellnummer durchschauen. Ich bekomme einen Lieferschein, tippe die Bestellnummer in die ComboBox und bekomme die Ergebnisse, wenn ich jetzt eine andere Bestellnummer eingebe, dann muss ich doch die vorherige Bestellung löschen und wenn ich das mache, dann hängt sich die ComboBox auf. ich muss das Komplette Makro schlissen und neu Starten, dann gehst wieder.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
dann brauchen wir noch eine Zeile Code, welches die Eingaben prüft Füge das am Anfang vom Combobox1 - Makro ein:
If IsError(Application.Match(Val(ComboBox1), WorksheetFunction.Transpose(ComboBox1.List), 0)) Then Exit Sub
Der Code setzt voraus, dass Deine Auswahl nur numerisch ist.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 03.10.2018
Version(en): 2016
Hallo Andre,
wenn ich das mache, dann habe ich keine Daten in der ListBox mehr
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
… wenn die Zahl komplett ist, bekommst Du die zugehörigen Daten.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 03.10.2018
Version(en): 2016
29.05.2020, 08:07
(Dieser Beitrag wurde zuletzt bearbeitet: 29.05.2020, 08:29 von Pirat2015.)
Ich verstehe es nicht, in der Tabelle welche ich gepostet habe gehts, wenn ich abe in meine Tabelle übertrage dann gehts nicht
|