18.04.2017, 09:38
Hallo,
ich will die TextBox31 in einer Userform mit dem SVERWEIS füllen, bezugnehmend auf den Wert von ComboBox2 aus den Spalten A und B in Blatt "Katalog".
Ich will im Prinzip bei Änderung des Inhaltes von ComboBox2 in TextBox31 den zugehörigen Wert aus Spalte B anzeigen lassen.
Wenn es keinen Begriff dazu gibt, soll es leer bleiben und die manuelle Eingabe möglich sein.
Durch diese TextBox31 soll dann später die ComboBox3 ersetzt werden.
Wie mache ich das?
Dies habe ich getestet:
aber da kommt die Fehlermeldung: " 424 Objekt erforderlich!"
Hier ist das Such-Makro mit der VLOOKUP-Zeile, da kommt die Fehlermeldung: "VLOOKUP-Eigenschaft kann nicht zugeordnet werden":
ich will die TextBox31 in einer Userform mit dem SVERWEIS füllen, bezugnehmend auf den Wert von ComboBox2 aus den Spalten A und B in Blatt "Katalog".
Ich will im Prinzip bei Änderung des Inhaltes von ComboBox2 in TextBox31 den zugehörigen Wert aus Spalte B anzeigen lassen.
Wenn es keinen Begriff dazu gibt, soll es leer bleiben und die manuelle Eingabe möglich sein.
Durch diese TextBox31 soll dann später die ComboBox3 ersetzt werden.
Wie mache ich das?
Dies habe ich getestet:
Code:
Private Sub ComboBox2_Change()
Me.Controls("TextBox" & 31).Value = WorksheetFunction.VLookup(Me.Controls("ComboBox2").Value, Sheets("Katalog").Range("A3:B" & Sheets("Katalog").Cells(Rows.Count, 1).End(xlUp).Row), 2, 0).Value
End Sub
Hier ist das Such-Makro mit der VLOOKUP-Zeile, da kommt die Fehlermeldung: "VLOOKUP-Eigenschaft kann nicht zugeordnet werden":
Code:
Private Sub cmd_Search_Click()
Dim i As Long
Dim booJaNein As Boolean
With Worksheets("Stammdaten")
With .Range("A6:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
Set suchErgebnis = .Find(TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not suchErgebnis Is Nothing Then
'MsgBox Suchergebnis.Address
lngZeile = suchErgebnis.Row
If suchErgebnis.Offset(0, 30).Value = "ja" Then
booJaNein = True
Else
booJaNein = False
End If
For i = 2 To 4
Me.Controls("TextBox" & i).Value = suchErgebnis.Offset(0, i - 1).Value
Next i
Me.Controls("ComboBox1").Value = suchErgebnis.Offset(0, 4).Value 'Spalte 5
For i = 5 To 10
Me.Controls("TextBox" & i).Value = suchErgebnis.Offset(0, i).Value
Next i
For i = 2 To 3
Me.Controls("ComboBox" & i).Value = suchErgebnis.Offset(0, i + 9).Value 'Spalte 12, 13
Next i
Me.Controls("TextBox" & 31).Value = WorksheetFunction.VLookup(Me.Controls("ComboBox2").Value, Sheets("Katalog").Range("A3:B" & Sheets("Katalog").Cells(Rows.Count, 1).End(xlUp).Row), 2, 0).Value
Me.Controls("TextBox11").Value = suchErgebnis.Offset(0, 13).Value 'Spalte 14
Me.Controls("ComboBox4").Value = suchErgebnis.Offset(0, 14).Value 'Spalte 15
For i = 12 To 13
Me.Controls("TextBox" & i).Value = suchErgebnis.Offset(0, i + 3).Value 'Spalte 16, 17
Next i
Me.Controls("ComboBox5").Value = suchErgebnis.Offset(0, 17).Value 'Spalte 18
For i = 14 To 25
Me.Controls("TextBox" & i).Value = suchErgebnis.Offset(0, i + 4).Value 'Spalte 19-30
Next i
Me.Controls("CheckBox1").Value = booJaNein 'Spalte 31, Ersterfassung
For i = 26 To 27
Me.Controls("TextBox" & i).Value = suchErgebnis.Offset(0, i + 5).Value 'Spalte 32, 33
Next i
For i = 6 To 9
Me.Controls("ComboBox" & i).Value = suchErgebnis.Offset(0, i + 27).Value 'Spalte 34 - 37
Next i
For i = 28 To 30
Me.Controls("TextBox" & i).Value = suchErgebnis.Offset(0, i + 9).Value 'Spalte 38 - 40
Next i
cmd_Update.Enabled = True
cmd_loeschen.Enabled = True
Else
MsgBox "Kein Eintrag mit der Nummer" & vbCrLf & TextBox1.Value & vbCrLf & "in dieser Liste vorhanden!"
cmd_Update.Enabled = False
cmd_loeschen.Enabled = False
End If
End With
End With
End Sub