Hallo zusammen
Ich versuche per suche in einer TextBox Werte aus einer geschlossenen Tabelle zu laden.
Gleichzeitigt sollen aus der Zeile die den gefundenen Wert hat, Werte aus anderen Spalten andere TextBoxen füllen.
Bei mir wäre es so:
TextBox_4 = Hier soll der gesuchte Wert in Spalte B der geschlossenen Tabelle gesucht und eingefügt werden.
TextBox_3 = Hier soll der Wert aus Spalte A eingefügt werden.
TextBox_5 = Hier soll der Wert aus Spalte D eingefügt werden. (wenn möglich nur die ersten 8 Zahlen)
Prüfobjekt (das ist eine TextBox) = Hier soll der Wert aus Spalte E eingefügt werden.
Noch zur Anmerkung die Zellen sind als Text formatierte Zellen
Habe folgenden Code gefunden:
Private Sub CommandButton1_Click()
Dim strPfad$, strTabelle$, sSuchbereich$, sAusgabe$
Dim strSuchWert$
If TextBox1 <> "" Then
strSuchWert = TextBox1
If IsNumeric(strSuchWert) Then
strSuchWert = Replace(strSuchWert, ",", ".")
Else
strSuchWert = Chr(34) & strSuchWert & Chr(34)
End If
'Datei Pfad
strPfad = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\" _
_
)
'Dateipfad und Dateiname ' davor und Dateiname in [...]
strPfad = "'" & strPfad & "[Test.xls]"
'Tabellename am ende mit '!
strTabelle = "Tabelle1" & "'!"
'Ausgabebereich
sAusgabe = Range("A1:B65536").Address(ReferenceStyle:=xlR1C1)
'Suchbereich
sSuchbereich = Range("F1:F65536").Address(ReferenceStyle:=xlR1C1)
On Error Resume Next
'Wert für Textbox2
TextBox2 = ExecuteExcel4Macro( _
"INDEX(" & strPfad & strTabelle & sAusgabe & ",MATCH(" & strSuchWert & "," & strPfad & _
strTabelle & sSuchbereich & ",0),1)" _
)
If Err.Number <> 0 Then TextBox2 = ""
Err.Clear
'Wert für Textbox3
TextBox3 = ExecuteExcel4Macro( _
"INDEX(" & strPfad & strTabelle & sAusgabe & ",MATCH(" & strSuchWert & "," & strPfad & _
strTabelle & sSuchbereich & ",0),2)" _
)
If Err.Number <> 0 Then TextBox3 = ""
On Error GoTo 0
Else
TextBox2 = "": TextBox3 = ""
End If
End Sub
Und ihn so für mich Umgestellt (leider ohne Erfolg)
Private Sub CommandButton1_Click()
Dim strPfad$, strTabelle$, sSuchbereich$, sAusgabe$
Dim strSuchWert$
If TextBox_4 <> "" Then
strSuchWert = TextBox_4
If IsNumeric(strSuchWert) Then
strSuchWert = Replace(strSuchWert, ",", ".")
Else
strSuchWert = Chr(34) & strSuchWert & Chr(34)
End If
'Datei Pfad
strPfad = "P:\KF_MB_FERTIGUNG\Prüfliste\Importdaten"
'Dateipfad und Dateiname ' davor und Dateiname in [...]
strPfad = "P:\KF_MB_FERTIGUNG\Prüfliste\Importdaten\Auftragsbestand.xlsx" & strPfad & "[ _
Auftragsbestand.xls]"
'Tabellename am ende mit '!
strTabelle = "output" & "'!"
'Ausgabebereich
sAusgabe = Range("A1:E65536").Address(ReferenceStyle:=xlR1C1)
'Suchbereich
sSuchbereich = Range("B1:B65536").Address(ReferenceStyle:=xlR1C1)
On Error Resume Next
'Wert für Textbox2
TextBox_3 = ExecuteExcel4Macro( _
"INDEX(" & strPfad & strTabelle & sAusgabe & ",MATCH(" & strSuchWert & "," & strPfad & _
strTabelle & sSuchbereich & ",0),1)" _
)
If Err.Number <> 0 Then TextBox_3 = ""
Err.Clear
TextBox_5 = ExecuteExcel4Macro( _
"INDEX(" & strPfad & strTabelle & sAusgabe & ",MATCH(" & strSuchWert & "," & strPfad & _
strTabelle & sSuchbereich & ",0),4)" _
)
If Err.Number <> 0 Then TextBox_5 = ""
Err.Clear
'Wert für Textbox3
Prüfobjekt = ExecuteExcel4Macro( _
"INDEX(" & strPfad & strTabelle & sAusgabe & ",MATCH(" & strSuchWert & "," & strPfad & _
strTabelle & sSuchbereich & ",0),5)" _
)
If Err.Number <> 0 Then Prüfobjekt = ""
On Error GoTo 0
Else
TextBox_3 = "": TextBox_5 = "": Prüfobjekt = "":
End If
End Sub
Es kommt keine fehlermeldung aber es wird auch nix gesucht, ausgefüllt.
Hoffe mir kann einer weiterhelfen und sagen was ich falsch mache.
LG Alba
|