Gelöst!
17.08.2022 10:19:52
Herbert
Moin Gerd,
doch er sollte die Inventarnummern nach der Laststufe zuordnen,
in einer in einem anderen Tabellenblatt festeghalten Tabelle.
Lösungsweg:
Ich habe eine neue Mappe erstellt einen VLookUP basierend auf keinerlei extra Daten erstellt,
diese dann immer weiter bearbeitet,
bis ich die Variablen soweit angepasst habe,
das diese den meinen in der Originalmappe entsprechen,
danach musste ich noch einmal Suchbegriffe in der Originalemappe abändern,
weil der VLookUP nicht "1 - 1,3 to." als Suchbegriff nehmen wollte,
habe ich diesen auf "1-1,3 to." abgeänder,
also keine Leerzeichen zwischen den Zahlen und den Minuszeichen.
Hier der Problemgelöste Code:
Sub Daten_Übernahme()
Dim i As Integer, k As Integer, e As Integer, _
Vari As Variant, x As Integer
For i = 1 To Worksheets("Datenbank").Range("tbl_Lieferschein").Rows.Count
If Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 1).Value = "" Then
'DEHA-Gehänge in Tabelle übernehmen:
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 1).Value = Range("Lieferschein_Nummer").Value
For e = 20 To 25
Vari = Worksheets("Datenbank").Cells(1, e)
For x = 3 To 6
On Error GoTo Fehlerbehebung:
MsgBox Application.WorksheetFunction.VLookup(Vari, Range("tbl_Inventarnummern"), x, False)
Next x
Fehlerbehebung:
Resume Next
Next e
'Andere Daten vom Lieferschein übernehmen:
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 2).Value = Range("Name_Verlader").Value
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 3).Value = Range("Auftragsnummer").Value
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 4).Value = Range("Kunde").Value
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 5).Value = Range("Baustelle").Value
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 6).Value = Range("Datum").Value
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 15).Value = Range("Spedition").Value
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 16).Value = Range("Fahrzeug_Kennzeichen").Value
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 17).Value = Range("Fahrer").Value
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 18).Value = Range("Unterschrift").Value
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 19).Value = Range("Blockschrift").Value
Worksheets("Datenbank").Range("tbl_Lieferschein").Cells(i, 20).Value = Range("Auf_Baustelle_verblieben").Value
Exit Sub
End If
Next i
End Sub
Die untere Code Schnippsel mit den ganzen Worksheetdeklarierungen werden noch überarbeitet und in eine Array gehauen.
Der Problemgelöste Code am Beispiel:
Private Sub cmdbtn_ÜBERNAHME_2_Click()
Dim Search As Variant, x As Integer
Search = "1-1,3 to."
For x = 3 To 7
On Error GoTo Fehlerbehebung:
MsgBox Application.WorksheetFunction.VLookup(Search, Range("tbl_Inventarnummern"), x, False)
Next x
Fehlerbehebung:
Exit Sub
End Sub
Danke für alle Antworten und Hilfen!
MfG
Herbert