Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1768to1772
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VLookup - VBA

VLookup - VBA
16.07.2020 08:29:27
Herbert
Guten Morgen,
ich habe schon öfters einen VLookup gemacht, aber dieses mal steh ich glaube ich stark aufem Schlauch...,
sobald ich diesen Code ausführe:
WorksheetFunction.VLookup(TextBox_Kennzeichen.Value, [SZM], 2, False)
bekomme ich den Laufzeitfehler'1004'
Und wenn ich aber nun "TextBox_Kennzeichen.Value" durch einen Zellwert tausche, funktioniert dies einwandfrei... .
Danke schonmal im Voraus,
MfG Herbert!

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VLookup - VBA
16.07.2020 08:39:54
Hajo_Zi
Hallo Herbert,
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.

Anzeige
AW: VLookup - VBA
16.07.2020 09:07:40
Hajo_Zi
Hallo Herbert,
    Else
Exit Sub
End If
If Bestätigen.Caption = "Bearbeiten" Then
MsgBox "Hier: " & WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), .Range("SZM"), 2, _
False)
End If
End With
Gruß Hajo
AW: VLookup - VBA
16.07.2020 09:12:25
Herbert
Hallo Hajo,
Danke!
MfG Herbert!
AW: VLookup - VBA
16.07.2020 08:49:08
Daniel
Hi
Wonach suchst du denn?
Die Zahl 123 ist für den SVerweis/VLookUp nicht das gleiche wie der Text "123" und ergibt keinen Treffer.
In Textboxen steht immer ein Text.
Gruß Daniel
Anzeige
AW: VLookup - VBA
16.07.2020 08:56:56
Herbert
Hallo Daniel,
ich suche nach Zahlen, ich weiß was du meinst, aber wenn ich den Wert aus einer Zelle nehme, wo die TextBOx nachher ihr Ergebnis einfügt, funktioniert das ja. Die TextBox fügt den Wert als Text-Format in die Zelle ein.
Danke für die Antwort!
MfG Herbert!
AW: VLookup - VBA
16.07.2020 09:21:59
Daniel
Wenn du einen Text, der wie er eine Zahl aussieht, in eine Zelle schreibst, wandelt Excel diesen Text in eine Zahl um.
Das passiert auch wenn VBA das macht.
Wenn der eingefügte Wert Text bleiben soll , muss man die Zelle vorher mit dem Zahlenformat Text formatieren oder dem Text ein Hochkomma voranstellen.
Ob in einer Zelle eine Zahl oder ein Text steht, siehst du am besten, wenn du die horizontale Ausrichtung auf Standard stellst. Dann stehen Texte links- und Zahlen rechtsbündig.
Anzeige
AW: VLookup - VBA
16.07.2020 09:50:42
Herbert
Hallo Daniel,
Danke, den Tipp werde ich versuchen direkt anzuwenden, das würde mir eine Menge Kopfzerbrechen ersparen!
MfG Herbert!
AW: VLookup - VBA
16.07.2020 10:11:23
Daniel
Da in der Suchspalte Zahlen stehen, ist es sinnvoller, den Textboxtext ebenfalls in eine Zahl zu wandeln.
Gruß Daniel
AW: VLookup - VBA
16.07.2020 09:55:46
Herbert
Hallo ich nochmal,
ich hatte jetzt ja den VLookup unten eingefügt und eine Beispieldatei von dem existiert auch noch, nun habe ich den VLookup dort eingefügt, aber jetzt macht mir dieser Code immer einen Laufzeitfehler'9' .
Code:
With Worksheets("Zugmaschinen").Range("[SZM]")
Set Kennzeichen = .Find(TextBox_Kennzeichen.Value, LookIn:=xlValues)
If Not Kennzeichen Is Nothing Then
Eingabewert = MsgBox("Diesen Auflieger gitb es schon!" & _
vbCrLf & "Soll dieser Auflieger bearbeitet werden?", vbYesNo, "Warnung!")
If Eingabewert = vbYes Then
Bestätigen.Caption = "Bearbeiten"
SZM_hinzufuegen_2.Bestätigen.Caption = "Bearbeiten"
MsgBox "Ok, dann können Sie diesen jetzt in Ruhe bearbeiten," & _
vbCrLf & "am ende auf Bestätigen und alle Daten werden ordnungsgemäß übernommen! _
ElseIf Eingabewert = vbNo Then
TextBox_Kennzeichen.Value = ""
MsgBox "Ok, das Kennzeichen Feld wurde zurückgesetzt," & _
vbCrLf & "geben Sie ihr jeweiliges Kennzeichen erneut ein!"
End If
Else
Exit Sub
End If
End With
Die erste Zeile wird Gelb makiert bei der ausführung.
Hier der komplette Code des Subs:
Private Sub TextBox_Kennzeichen_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Eingabewert As Byte
With Worksheets("Zugmaschinen").Range("[SZM]")
Set Kennzeichen = .Find(TextBox_Kennzeichen.Value, LookIn:=xlValues)
If Not Kennzeichen Is Nothing Then
Eingabewert = MsgBox("Diesen Auflieger gitb es schon!" & _
vbCrLf & "Soll dieser Auflieger bearbeitet werden?", vbYesNo, "Warnung!")
If Eingabewert = vbYes Then
Bestätigen.Caption = "Bearbeiten"
SZM_hinzufuegen_2.Bestätigen.Caption = "Bearbeiten"
MsgBox "Ok, dann können Sie diesen jetzt in Ruhe bearbeiten," & _
vbCrLf & "am ende auf Bestätigen und alle Daten werden ordnungsgemäß übernommen! _
ElseIf Eingabewert = vbNo Then
TextBox_Kennzeichen.Value = ""
MsgBox "Ok, das Kennzeichen Feld wurde zurückgesetzt," & _
vbCrLf & "geben Sie ihr jeweiliges Kennzeichen erneut ein!"
End If
Else
Exit Sub
End If
End With
If Bestätigen.Caption = "Bearbeiten" Then
TextBox_Achsen.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 2, False)
TextBox_A1.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 3, False)
TextBox_A1_A2.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 4, False)
TextBox_A2_A3.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 5, False)
TextBox_A3_A4.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 6, False)
TextBox_A4.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 7, False)
TextBox_AL1.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 8, False)
TextBox_AL2.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 9, False)
TextBox_AL3.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 10, False)
TextBox_AL4.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 11, False)
TextBox_Räder_A1.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 12, False)
TextBox_Räder_A2.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 13, False)
TextBox_Räder_A3.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 14, False)
TextBox_Räder_A4.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 15, False)
TextBox_A_Maß_1.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 16, False)
TextBox_A_Maß_2.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 17, False)
TextBox_A_Maß_3.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 18, False)
TextBox_A_Maß_4.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 19, False)
TextBox_A_Maß_5.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 20, False)
TextBox_A_Maß_6.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 21, False)
TextBox_A_Maß_7.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 22, False)
TextBox_A_Maß_8.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 23, False)
TextBox_A_Maß_9.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 24, False)
TextBox_A_Maß_Standard.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 25,  _
False)
TextBox_KPV_Rad.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 26, False)
TextBox_KPH_Rad.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 27, False)
TextBox_KP.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 28, False)
TextBox_13SL.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 31, False)
TextBox_G.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 32, False)
TextBox_F2.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 33, False)
TextBox_Antriebsachsen.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 37,  _
False)
TextBox_FIN.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 38, False)
TextBox_BABH.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 39, False)
TextBox_Max_Z_Ge_G.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 40,  _
False)
TextBox_Hersteller.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 42,  _
False)
TextBox_Radstand.Value = WorksheetFunction.VLookup(CInt(TextBox_Kennzeichen), [SZM], 43, False)
End If
End Sub
Danke im Voraus!
MfG Herbert!
Anzeige
AW: VLookup - VBA
16.07.2020 10:07:46
Daniel
Hi
Laufzeitfehler 9 heißt, dass du versucht in einem Array einen nicht vorhandenen Index zu verwenden.
Bei Worksheet(...) oder Range(...) tritt dieser Fehler auf, wenn man einen Namen verwendet, der nicht existiert, meistens ein Tippfehler, ich tippe auf die "[" und "]", die da nicht hin gehören, weil dein Zellbereich nur SZM heißt.
Gruß Daniel
AW: VLookup - VBA
16.07.2020 10:13:07
Herbert
Hallo Daniel,
ich habe es vorher mit Zellen gehabt, aber da trat der Fehler als erstes auf...,
hier der Code mit Zellen:
Nur Spalte A:
With Worksheets("Zugmaschinen").Range("A1:A500")
Spalte A1 - AZ500:
With Worksheets("Zugmaschinen").Range("A1:AZ500")
trzd. Danke für die Antwort!
MfG Herbert!
Anzeige
AW: VLookup - VBA
16.07.2020 10:17:54
Herbert
Hallo Daniel,
hab schon gefunden wie es klappt!
hier der behobene Code:
With Worksheets("Zugmaschinen").[SZM]
Vielen Dank für deine Hilfe!
MfG Herbert!

73 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige