Daten Übertragung mit Dialogfenster und Abfrage
#61
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
Top
#62
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:
  • Pirat2015
Top
#63
Danke trotzdem für deine Unterstützung
Top
#64
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
Top
#65
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)
Top
#66
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.
Top
#67
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)
Top
#68
Hallo Andre,

wenn ich das mache, dann habe ich keine Daten in der ListBox mehr
Top
#69
… 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)
Top
#70
Ich verstehe es nicht, in der Tabelle welche ich gepostet habe gehts, wenn ich abe in meine Tabelle übertrage dann gehts nicht
Top


Gehe zu:


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