Hallo David,
dein Code kann nie etwas finden, selbst wenn du in g und h etwas hättest, wenn g und h verschieden sind, denn nur wenn g und h beide gleich deinem Suchbegriff sind, werden die Zeilen nach
If Suche(i, j) = g Then
If Suche(i, j) = h Then
ausgeführt, es sei denn Cells(i,j) ist ebenfalls leer.
Ich nehme an, du willst, wenn eine Zelle entweder g oder h enthält, deinen Suchlauf anhalten. Ferner nehme ich an, dass Worksheets("Analysetool").Cells(9, 4) den Suchbegriff für g und Worksheets("Analysetool").Cells(19, 4) den Suchbegriff für h enthalten.
Viele deiner Variablen brauchst du nicht, es sei denn, dass du sie an einer anderen Stelle deines Programms noch benötigst (z.B. k,l,m,suche()). Wenn Cells(i, j) = g oder h, wird die gefundene Zelle auf dem Tabellenblatt Auswertung markiert und das Programm beendet.
Sub Projekt()
Const Zeile = 217
Const Spalte = 22
Dim g, h, i, j As Variant
g = Worksheets("Analysetool").Cells(9, 4).Value
h = Worksheets("Analysetool").Cells(19, 4).Value
Worksheets("Auswertung").Activate
For i = 1 To Zeile
For j = 1 To Spalte
If Cells(i, j) = g Or Cells(i, j)=h Then
Worksheets("Analysetool").Cells(9, 9).Value = Cells(i, 2).Value
Worksheets("Analysetool").Cells(11, 9).Value = Cells(i, 10).Value
Worksheets("Analysetool").Cells(21, 9).Value = Cells(i, 19).Value
Cells(i, j).Select
Exit Sub
End If
Next j
Next i
Sicherlich wirst du noch etwas verändern müssen, da ich nich erkennen kann, was dein Ziel tatsächlich ist.
Gruß
Holger
David schrieb am 04.03.2009 12:17:04:
Holger schrieb am 04.03.2009 11:42:08:
Hallo Holger,
es handelt sich bei g und h um zwei Suchkriterien (Gewicht und Bauteil), die jedoch numerischen Werten zugeordnet sind, da sonst immer "Typen unverträglich" als Fehlermeldung kam.
Hast du vielleicht noch eine Idee wie ich die Suche dann bei dem gefundenen Kriterium anhalte???
Viele Grüße,
David
Hallo David,
g und h sind leer, do dass mit
Worksheets("Analysetool").Cells(9, 4).Value = g
und
Worksheets("Analysetool").Cells(19, 4).Value = h
auch diese Zellen leer sind. Willst danach suchen? Oder wolltest du vielleicht g und h öffentlich deklarieren? Oder sollte es
g=Worksheets("Analysetool").Cells(9, 4).Value
und
h= Worksheets("Analysetool").Cells(19, 4).Value
heißen?
Gruß
Holger
David schrieb am 04.03.2009 10:10:25:
Kann mir jmd. sagen warum das folgende Programm nicht bei meinen Suchkriterien stoppt und diese rausschreibt, sondern immer durch alle Werte rattert???
Vielen Dank!!!
VG,
David
Sub Projekt()
Const Zeile = 217
Const Spalte = 22
Dim g, h, j, k, l, m As Variant
Dim Suche(Zeile, Spalte) As Variant
For i = 1 To Zeile Step 1
For j = 1 To Spalte Step 1
Worksheets("Analysetool").Cells(9, 4).Value = g
Worksheets("Analysetool").Cells(19, 4).Value = h
Suche(i, j) = Worksheets("Auswertung").Cells(i, j)
If Suche(i, j) = g Then
If Suche(i, j) = h Then
k = Worksheets("Auswertung").Cells(i, 2)
Worksheets("Analysetool").Cells(9, 9).Value = Worksheets("Auswertung").Cells(i, 2).Value
l = Worksheets("Auswertung").Cells(i, 10)
Worksheets("Analysetool").Cells(11, 9).Value = Worksheets("Auswertung").Cells(i, 10).Value
m = Worksheets("Auswertung").Cells(i, 19)
Worksheets("Analysetool").Cells(21, 9).Value = Worksheets("Auswertung").Cells(i, 19).Value
End If
End If
Next
Next |