Guten morgen zusammen,
ich arbeite erst seit ein paar Tagen mit VBA, bin also noch eher ein Neuling was die Syntax und die Möglichkeiten angeht.
Deshalb wollte ich die erfahreneren Entwickler um Hilfe bitten.
Folgendes ist mein Wunsch, aber ob es überhaupt so umsetzbar ist weiß ich nicht:
https://ibb.co/kDq1ykB - Ein Bild zur Veranschaulichung-
- Suche in Spalte A, ob du "Menu i:" findest
- Suche danach in Spalte A nach dem Wert j
- Wenn j, dann suche ab dieser Zeile in Spalte C nach k
- Wenn k, dann schreibe mir die Daten aus dieser Zeile in ein Feld
Die Buchstaben i, j und k sollen Schleifenvariablen sein.
Jetzt sind meine Fragen:
- Ist es möglich im Find Befehl eine eigene Variable hineinzuschreiben, als Ersatz für ? oder * um so jedes Menü sicher zu erfassen?
- Wie sage ich VBA das er dann eine bestimmte Zeile wählen soll, zB wenn k = 1 ist, soll er den Zeilenwert (4) für die Spalten D bis J wählen um die richtigen Daten auszuwählen. Gibt es da einen Befehl um den Zeilen (oder auch Spaltenwert) zu ermitteln?
Zum Schluss ein eher gedanklicher Code der das gesagte nochmal in VBE darstellen soll:
For i = 1 To 16 'Erste Schleife für das Menü
'Range("A:A").Find("Menu i:") 'Suche nach Menu ?:, für ? = i
For j = 1 To 8 'Zweite Schleife für Untermenü 1
'Range("A:A").Find(j)
For k = 1 To 8 'dritte Schleife für Untermenü 2
'Range("C:C").Find(k)
'Daten schreiben
Next k
Next j
Next i
Danke schonmal im voraus für die Hilfe.
Viele Grüße, Stefan
|