Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen in bestimmten Bereich mit Inhalt

Zellen in bestimmten Bereich mit Inhalt
30.04.2021 13:24:59
Stefan
Hallo,
ich habe folgendes Problem zu lösen.
Ich möchte aus einer Tabelle in Sheet 2 alle Zellen kopieren im Bereich B1:E25 in denen ein Eintrag ist. Diese sollen dann in Sheet 1 in die erste freie Zeile am Ende der Tabelle geschrieben werden.
Kann mir zufällig jemand bei dem Problem helfen?
Ich schaffe es nur bestimmte Bereiche aus Sheet 2 ans Ende der Tabelle von Sheet 1 zu kopieren. Ich scheitere am Identifizieren der nicht leeren Zellen im Bereich vom Sheet 2.
Ich bin für jede Hilfe dankbar!!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen in bestimmten Bereich mit Inhalt
30.04.2021 13:32:01
Rudi
Hallo,
eine Möglichkeit:

Sub aaa()
Dim objDic As Object, rng As Range
Set objDic = CreateObject("scripting.dictionary")
For Each rng In Sheets(2).Range("B1:E25")
If Len(rng.Value) Then objDic(rng) = rng.Value
Next
Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(objDic.Count) = _
Application.Transpose(objDic.items)
End Sub
Gruß
Rudi
Anzeige
AW: Zellen in bestimmten Bereich mit Inhalt
30.04.2021 13:40:07
Stefan
Hallo,
vielen Dank für die schnelle Antwort!
Ich habe mich leider etwas missverständlich ausgedrückt.
Es sollen nicht alle Zellen durch Transpond unter einander geschrieben werden sondern wieder an die selbe Position:
Bedeutet z.B:
Sheet 2:
Beschriebene Zellen A1:C4
Dann sollen alle Daten aus Spalte A auch wieder in Spalte A kopiert werden, B in B usw.
Gruß
Anzeige
AW: Zellen in bestimmten Bereich mit Inhalt
30.04.2021 18:30:46
Yal
Hallo Stefan,
wenn nur die beschriebene Zellen, dann sind die andere leer, was spricht dan gegen eine vollständige Kopie?
Das kann man sehr gut mit Makro-Recorder aufnehmen.
Dann bleibt nur übrig die erste freie Zelle in der Spalte A von der Tabelle1 zu ermitteln. Da hat Rudi die Lösung gegeben.
Insgesamt sieht es so aus:

Sheets(2).Range("B1:E25").copy Destination:=Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1)
VG
Yal
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige