Anzeige
Archiv - Navigation
1728to1732
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

Range-Methode

Range-Methode
12.12.2019 10:02:58
Salih
Hallo an alle,
ich möchte gerne einen Bereich im Tabellenblatt kopieren und woanders einfügen. Dafür gibt es prinzipiell diesen Code:
Worksheets("Sheet1").Range("A1:A"&lastrow).Copy _
Destination:=Worksheets("Sheet2").Range("C1")
Dabei ist lastrow eine Variable für die Zeilennummer. Meine Frage ist, wie ich den Code ändern muss, damit auch die Spalte variabel ist.
Versucht habe ich es unter anderem mit:
Worksheets("Sheet1").Range(Spalte&"1:"&Spalte &lastrow).Copy _
Destination:=Worksheets("Sheet2").Range("C1")
Doch leider hat keine Variante funktioniert (Compile error).
Vielen Dank im voraus.
Gruß
Salih

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
mit Cells ...
12.12.2019 10:12:22
Matthias
Hallo
z.B für A1:A5
Dim lastrow&
lastrow = 5
Range(Cells(1, 1), Cells(lastrow, 1)).Copy
Gruß Matthias
AW: mit Cells ...
12.12.2019 10:29:56
Salih
Hallo Matthias,
vielen Dank, klappt wunderbar.
Gruß
Salih
AW: mit Cells ...
12.12.2019 10:58:07
Salih
Hallo,
mir ist gerade aufgefallen, dass das Tabellenblatt, aus dem kopiert wird, aktiviert sein muss.
Wenn ich z.B. von Sheet1 etwas nach Sheet2 kopieren möchte, geht das nicht, wenn ich in Excel mir gerade Sheet2 ansehe (aktiviert ist).
Ist das einer der Fälle, bei der man Sheet1.Activate nicht umgehen kann?
Gruß
Salih
owT
12.12.2019 11:41:01
Salih
owT
AW: mit Cells ...
12.12.2019 13:31:48
Rudi
Hallo,
alles eine Frage der Referenzierung
Dim lastrow&, Spalte&
lastrow = 5
Spalte=1
with sheets("Tabelle1")
.Range(.Cells(1, Spalte), .Cells(lastrow, Spalte)).Copy sheets("Tabelle2").cells(1,1)
end with

Gruß
Rudi
Anzeige
AW: Range-Methode
12.12.2019 23:27:55
Daniel
Hi
Worksheets("Sheet1").Range(Spalte&"1:"&Spalte &lastrow)
sollte eigentlich funktionieren, wenn du folgendes beachtest:
1. Vor und nach dem & muss ein Leerzeichen stehen, nur dann ist des der Verketten-Operator
2. Spalte muss eine String-Variable sein und den Spaltenbuchstaben enthalten.
die gezeigte Variante Range(Cells(), Cells()) ist sehr flexibel, hat aber den nachteil, dass bei nicht aktivem Tabellenblatt das Blatt nicht vor der Range stehen muss, sondern vor den beiden Cells innerhalb:
Range(Sheets(...).Cells(a, b), Sheets(...).Cells(c, d))
meine bevorzugte Variante wär daher:
Sheets("Tabelle1").Cells(1, Spalte).Resize(lastRow, 1)

Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige