ich zwar neu hier, aber versuche mein Problem so genau wie möglich zu schildern. Leider weiss ich auch noch nicht, wie man seinen Code richtig darstellt, also leider nur copy/paste sorry.
Ich habe im Bereich von C12:G42 verschiedene Wert erzeugt und diese sind variabel, da sie an Eingangsparameter gekoppelt sind. Mit Hilfe von Zählenwenn suche ich jede Zeile nach dem Wert 100 ab und stelle dar, wie oft dieser vorkommt. In der Zeile 32 kommt es vor, dass in C32, D32, E32 und G32 der Wert 100 steht. Die Zahlen der Spalten (also c=3, d=4, usw.) brauche ich für weitere Berechnungen und möchte diese nicht immer händisch eingeben müssen, da die Datei noch wachsen wird. Also wollte ich einen Code schreiben, der mir die Eingabe der Spaltennummern per Hand abnimmt.
Ich habe hier mit Find in Zeile 32 nach dem Wert aus I6 (=100) suchen lassen und möchte, dass mir der Code jetzt die Spaltennummern ausgibt. Die Werte der Spaltennummern sollen in M11 bis M14 stehen, da ich ja vier Werte habe. Also in M11 dann der Wert 3, in M12 der Wert 4, in M13 der Wert 5 und in M14 dann der Wert 7, da in Zelle F32 nicht der Wert 100 steht.
Ich habe folgenden Code ausprobiert, aber irgendwie funktioniert das nicht so recht. Der Fehler liegt nach dem Else, da in den Zeilen M11 bis M14 immer 100 erscheint, wonach ja gesucht wird, aber nicht die Spaltennummer.
Set Ergebnis = Tabelle1.Rows(32).Find(what:=Tabelle1.Range("I6").Value, _
lookat:=xlWhole)
For m = 11 To 14
If Ergebnis Is Nothing Then
MsgBox "Leider nichts gefunden", vbOKOnly + vbExclamation, "Achtung!"
Else
Sheets("Tabelle1").Cells(m, 13).Value = Tabelle1.Cells(32, Ergebnis.Column).Value
End If
Next m
Falls mir jemand helfen könnte wäre ich sehr dankbar.
Gruß
timi1209