Hi liebe Leute,
ich benötige bei meiner Excel-Datei eure Hilfe.
Die Datei hat zwei Tabellenblätter „Ermittlung“ und „Markierung“
In dem Tabellenblatt „Ermittlung“ steht untereinander genaue Zellenpositionen: A4, A1517, A119, A1831 usw. Nun möchte ich, dass dies gerne mittels VBA Makro alle diese Positionen erkennt und auf dem anderen Tabellenblatt „Markierung“ farbig markiert.
Dann im nächsten Makro, dass Excel diese farbigen Zeilen kopiert und auf das dritte Tabellenblatt „Prüfung“ kopiert. Aber er soll nicht einfach die komplette Zeile kopieren, sondern nur den Bereich Spalte A bis R und genau auch nur in Spalte A bis R diese wieder einfügen.
Gerne seprate in zwei verschiedenen Makros. Ich habe schon gesucht und probiert, aber nichts hat geholfen. Habt Ihr eine Idee? Danke
Das ist die Formel für Zeile 1 und sie kann nach unten erweitert werden.
Wenn du zur Funktion von INDIREKT() noch Infos möchtest bzw. nicht verstehst was ich da zusammengebastelt habe, frag einfach nach, dann erläutere ich das gerne genauer.
Sub Pruefung()
Sheets("Ermittlung").Select
lz = Cells(Rows.Count, 1).End(xlUp).Rows.Row
For i = 1 To lz
adr = Cells(i, 1)
zn = Range(adr).Row
Worksheets("Markierung").Range("A" & zn & ":R" & zn).Copy _
Destination:=Worksheets("Prüfung").Range("A" & i)
Next i
End Sub
Hey Niclaus, danke dir erstmal. Leider zeigt er mir bei „zn = Range(adr).Row“ folgenden Fehler an: Laufzeitfehler 1004: Die Methode Rangefür das Objekt _Globalist fehlgeschlagen
Wow, die funktioniert es gut. Bei Leeren Fehler schreibt er bei dieser Formel dann eine 0 rein. Könntest du noch ergänzen, dass wenn die Feld Leer ist also 0, dass dann das Ergebnis auch Leer ist, anstatt 0? Verstehst du was ich meine? Vielen Dank.
"zn = Range(adr).Row" folgenden Fehler an: Laufzeitfehler 1004
Das Makro geht davon aus, dass in der Tabelle Ermittlung in Spalte A nur Zellbezüge aufgeführt sind, also keine „gewöhnlichen“ Texte oder Zahlen. Und: die Zellbezüge müssen unmittelbar hintereinander aufgeführt sein. Also keine leeren Zellen zwischen einzelnen Zellbezügen.
Du kannst in das Makro am Anfang folgende Befehlszeile einfügen, dann spielt das Erwähnte keine Rolle: