Anzeige
Archiv - Navigation
1684to1688
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kopieren Zellen abhängig von Eintrag in Zelle

Kopieren Zellen abhängig von Eintrag in Zelle
17.04.2019 14:02:42
Eintrag
Hallo zusammen,
ich habe in einem Tabellenblatt 1 in meiner Spalte E Werte stehen, die in unregelmäßigen Abständen von einer leeren Zelle unterbrochen werden.
Sofern in der Spalte E (bspw. E2:E10, E12:E20) Werte stehen, soll das Makro die Werte der Zellen D2:D10, D12:D20 kopieren und in einem anderen Tabellenblatt 2 transponiert (also z. B. F2:M2, F3:M3) einfügen.
Das Makro soll solange die Spalte E in Tabellenblatt 1 auf Werte prüfen und entsprechend Spalte D kopieren, bis irgendwann zwei leere Zelle nacheinander in der Spalte E kommen.
Bisher schaffe ich es leider nur für den Abschnitt bis zur ersten leeren Zelle in der Spalte E.
Da die Tabelle variabel ist, kann ich dem Makro keine festen Zellenintervalle mitgeben.
Wie geht man hier am besten vor? Mit einer Schleife?
Ich bin dankbar über jede Hilfe! :-)
Liebe Grüße

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Areas
17.04.2019 14:18:53
Fennek
Hallo,
teste mal mit

Sub F_en()
For Each ar In ActiveSheet.Columns("E").SpecialCells(2).Areas
ar.Offset(, -1).Copy
Sheets(2).Range("F2").Offset(i).PasteSpecial Transpose:=True
i = i + 1
Next ar
End Sub
mfg
AW: Areas
17.04.2019 14:58:03
Xenia
Hallo Fennek,
ganz herzlichen Dank für deine schnelle Hilfe! Das funktioniert super!
Viele Grüße
AW: Areas
17.04.2019 15:58:10
Daniel
Hi - berücksichtigt die Lösung auch deine Bedingung, dass nur so lange kopiert werden soll, bis 2 leere Zeilen unter der Area gefunden werden? Dürfte eigentlich nicht der Fall sein. Dafür könntest du noch dies einfügen:
For Each ar In ActiveSheet.Columns("E").SpecialCells(2).Areas
If Cells(Ar.End(xlUp).Row + 2, 5) = "" And Ar.End(xlUp).Row > 1 Then Exit For
ar.Offset(, -1).Copy
Sheets(2).Range("F2").Offset(i).PasteSpecial Transpose:=True
i = i + 1
Next ar
Gruß
Daniel
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige