Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bestimmte Bereiche in Spalten kopieren

Bestimmte Bereiche in Spalten kopieren
24.05.2007 15:45:02
rastel
Hallo,
Ich habe in einer Tabelle mehrere zusammenhängede Spalten mit Daten. Nun möchte ich an einen bestimmten Bereich jeder dieser einzelnen Spalten rauskopieren (z.B. B2:B25, C2:25, D2:D25 usw) und an einer anderen Stelle untereinander einfügen.
Also in etwa so:
A B C
1 4 7
2 5 8
3 6 9
=>
A
1
2
3
4
5
6
7
8
9
Das ganze soll per Makro automatisch gehen, bis das Ende der Daten erreicht ist, sprich die erste leere Spalte auftaucht.
Bis jetzt hab ich mir dafür folgendes zusammengebastelt (hab bisher nur sehr grundlegende Kenntnisse in VBA):

Sub Plot()
Application.ScreenUpdating = False
i = 2
Do Until IsEmpty(Cells(2, i + 1))
Range("?").copy
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.paste
i = i + 1
Loop
Application.ScreenUpdating = True
End Sub


Im Moment hänge ich an dem Problem, wie ich die Range so definiere, dass jeweils die Zeilen 2 bis 25 in jeder Spalte gemeint sind.
Der Rest sollte funktionieren, auch wenn der Code wahrscheinlich eher umständlich ist, aber ich bin wie gesagt noch Anfänger.
Vielen Dank für eure Hilfe!
Gruß,
Ralph

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Bereiche in Spalten kopieren
24.05.2007 16:12:00
IngGi
Hallo Ralph,
die Antwort steckt im Prinzip schon in deinem Code. Verwende Cells() statt Range(), dann kannst du Zeilen und Spalten über Zählvariablen oder konstante Werte ansprechen. Ich hab auch noch überflüssige Selects entfernt. Du kannst nämlich auch Zellen kopieren, ohne Quelle und Ziel vorher zu markieren. Das ist übersichtlicher und geht um Längen schneller.

Sub Plot()
Application.ScreenUpdating = False
i = 2
Do Until IsEmpty(Cells(2, i + 1))
Range(Cells(2, i + 1), Cells(25, i + 1)).Copy _
Destination:=Range("A1").End(xlDown).Offset(1, 0)
i = i + 1
Loop
Application.ScreenUpdating = True
End Sub

Ich bin mir allerdings nicht so ganz sicher, ob Kopierquelle und -ziel so stimmen.
Gruß Ingolf

Anzeige
AW: Bestimmte Bereiche in Spalten kopieren
24.05.2007 17:13:00
rastel
Vielen Dank, Ingolf! Der Code funktioniert perfekt.
Mit Cells () hatte ich auch schon rumgespielt, aber anscheinend nie den richtigen Befehl gefunden. So geht das also ;-)
Danke auch für den Hinweis mit dem Select usw.! Wie gesagt, bin noch Anfänger, und such mir die passenden Schnippsel immer aus aufgezeichneten Makros etc. heraus.
Gruß,
Ralph

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige