AW: werte in tabelle suche
24.03.2009 21:18:44
kirsche
hallo franz,
danke für deine mühe und hilfe. ich habe auch noch lange am sonntag und gestern getüfftelt und bin dann zu folgendem ergebnis gekommen.
ich habe mir eine textbox eingefügt, in welcher die nummer zusammen gesetzt und damit gesucht wird.
Private Sub CommandButton1_Click()
Dim lZeile As Long ' For/Next Zeilen-Index Vordruck
Dim lLetzte_A As Long ' die letzte Zeile in der Artikelstamm
Dim lZeile_A As Long ' die gefundene Zeile in der Artikelstamm
Dim WkSh_A As Worksheet ' das Tabellenblatt "Artikelstamm"
Dim rZelle As Range
' kein Bildschirm-Update während der Verarbeitung zulassen
Application.ScreenUpdating = False
Set WkSh_A = Worksheets("Daten")
Range("E20:M291").Value = ""
' Artikel in das Tabellenblatt "Aufteiler" einfügen
With Worksheets("Aufteiler")
' die letzte belegte Zeile im Blatt "Daten" gemäß Spalte B
lLetzte_A = IIf(WkSh_A.Range("B65536") "", 65536, WkSh_A.Range("B65536").End(xlUp).Row) _
' die passenden Einzelauflistungen aus der Eingabe holen
lZeile = 20
'daten holen ohne formatierung aus dem artikelstamm
For lZeile_A = 2 To lLetzte_A
If Range("C" & lZeile).Value = "w" Then
TextBox1.Value = Range("A" & lZeile).Value & " " & Label1.Caption
Set rZelle = Worksheets("Daten").Range("A2:A" & lLetzte_A) _
.Find(TextBox1.Value, lookat:=xlWhole, LookIn:=xlValues)
If rZelle Is Nothing Then
lZeile = lZeile + 4
End If
If Not rZelle Is Nothing Then
Range("E" & lZeile).Value = Trim(WkSh_A.Cells(rZelle.Row, 17).Value) '1menge
Range("F" & lZeile).Value = Trim(WkSh_A.Cells(rZelle.Row, 18).Value) '2menge
Range("G" & lZeile).Value = Trim(WkSh_A.Cells(rZelle.Row, 19).Value) '3menge
Range("H" & lZeile).Value = Trim(WkSh_A.Cells(rZelle.Row, 20).Value) '4menge
Range("I" & lZeile).Value = Trim(WkSh_A.Cells(rZelle.Row, 21).Value) '4menge
Range("J" & lZeile).Value = Trim(WkSh_A.Cells(rZelle.Row, 22).Value) '5menge
Range("K" & lZeile).Value = Trim(WkSh_A.Cells(rZelle.Row, 23).Value) '6menge
Range("L" & lZeile).Value = Trim(WkSh_A.Cells(rZelle.Row, 24).Value) '7menge
Range("M" & lZeile).Value = Trim(WkSh_A.Cells(rZelle.Row, 25).Value) ' _
gesamtmenge
lZeile = lZeile + 4
End If
End If
Next lZeile_A
End With
End Sub
das sieht soweit auch gut aus und scheint zu funktionieren.
gruß kirsche