Supportnet / Forum / Tabellenkalkulation
Zellenbereich kopieren
Frage
Hallo zusammen,
ich möchte gerne folgendes machen:
ein Zellbereich (Datensatz) soll markiert werden, die Zeile ist dabei zuvor durch einen Spaltenindex (nx) bestimmt worden, die Spalten sollen von 1 bis zur letzten verwendeten Spalte markiert werden.Momentan mach ich es Zelle für Zelle, was natürlich ewig dauert. s.u.
´Bestimmung der Anzahl der verwendeten Spalten
Dim howmuchcols As Integer
howmuchcols = Sheets("Kunden-Online").UsedRange.Columns.Count
´ For copyindex = 1 To howmuchcols
´ Sheets("Kunden-Online").Activate
´ Cells(nx2, copyindex).Copy
´ Sheets("UsedPW").Activate
´ Cells(nx, copyindex).Select
´ ActiveSheet.Paste
´ Next copyindex
Schöner wäre es natürlich den jeweiligen Bereich auf einmal markieren und kopieren zu können. Für Tipps wäre ich euch sehr dankbar.
Beste Grüße,
guethi
Antwort 1 von nighty
hi guethi :)
Quelle.copy Ziel
ein beispiel waere unter anderen wäre :))
gruss nighty
Sub makro01()
Sheets(1).Range("A1:A3,A5,A7").Copy Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
End Sub
Quelle.copy Ziel
ein beispiel waere unter anderen wäre :))
gruss nighty
Sub makro01()
Sheets(1).Range("A1:A3,A5,A7").Copy Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
End Sub
Antwort 2 von nighty
hi :))
vertippt :)))
gruss nighty
vertippt :)))
gruss nighty
Antwort 3 von nighty
hi guethi :)
oder auch bereiche festlegen :))
als ansatz
Sub makro01()
Set DatenEingang=Sheets(1).Range("A1:A3,A5,A7")
Set DatenAusgang=Sheets(1).Range("C1:C3,G7").
DatenEingang.Copy Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
DatenAusgang.Copy Sheets(2).Range("B" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
End Sub
oder auch bereiche festlegen :))
als ansatz
Sub makro01()
Set DatenEingang=Sheets(1).Range("A1:A3,A5,A7")
Set DatenAusgang=Sheets(1).Range("C1:C3,G7").
DatenEingang.Copy Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
DatenAusgang.Copy Sheets(2).Range("B" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
End Sub
Antwort 4 von JoeKe
hallo guethi,
oder nach diesem Beispiel:
Sub kopieren()
spalte = Sheets("Tabelle1").UsedRange.Columns.Count
Range((Cells(1, 1)), (Cells(10, spalte))).Copy
Sheets("Tabelle2").Range("A1").PasteSpecial
End Sub
MfG
JöKe
oder nach diesem Beispiel:
Sub kopieren()
spalte = Sheets("Tabelle1").UsedRange.Columns.Count
Range((Cells(1, 1)), (Cells(10, spalte))).Copy
Sheets("Tabelle2").Range("A1").PasteSpecial
End Sub
MfG
JöKe
Antwort 5 von Event
Hallo Guethi
Ich denke Du meinst etwas in der Art:
Range(cells(nx, 1), cells(nx, howmuchcols)).Copy Ziel
Gruß
Ich denke Du meinst etwas in der Art:
Range(cells(nx, 1), cells(nx, howmuchcols)).Copy Ziel
Gruß
Antwort 6 von JoeKe
@ Event,
;-)
JöKe
;-)
JöKe
Antwort 7 von guethi
Hallo Jungs,
vielen Dank für die Tipps, ich brauche quasi eine Mischung daraus.Ich möchte einen Bereich kopieren, der durch einen Zeilenindex definiert wird. Quasi so etwas wie nighty verfasst hat
Sub makro01()
Sheets(1).Range("A1:A3,A5,A7").Copy Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
End Sub
aber statt ("Anx:Snx") (was natürlich nicht klappt :-/).
Vielen Dank bis hierhin,
beste Grüße,
guethi
vielen Dank für die Tipps, ich brauche quasi eine Mischung daraus.Ich möchte einen Bereich kopieren, der durch einen Zeilenindex definiert wird. Quasi so etwas wie nighty verfasst hat
Sub makro01()
Sheets(1).Range("A1:A3,A5,A7").Copy Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
End Sub
aber statt ("Anx:Snx") (was natürlich nicht klappt :-/).
Vielen Dank bis hierhin,
beste Grüße,
guethi
Antwort 8 von JoeKe
Moin guethi,
komm jetzt nich ganz mit.
Wie sieht denn nun der Bereich der kopiert werden soll aus?
Ist es ein zusammenhängender Bereich oder mehrere Teilbereiche? Was ist nx genau? Die letzte Zeile die kopiert werden soll?
Da du in der Eröffnung geschrieben hast:
geh ich mal davon aus das ein zusammenhängender Bereich kopiert werden soll. Dann sieht doch die Syntax so aus
Sheets(1).Range("x:y").Copy
Sheets(2).Range("x:y").Paste
mit :
x = Anfangszelle links oben
y = Endzelle rechts unten
x = festvorgegeben?
y = cells(nx, howmuchcols)
Wenn du uns darüber noch mal etwas genauer aufklärst, wird dir sichrlich geholfen.
MfG
JöKe
komm jetzt nich ganz mit.
Wie sieht denn nun der Bereich der kopiert werden soll aus?
Ist es ein zusammenhängender Bereich oder mehrere Teilbereiche? Was ist nx genau? Die letzte Zeile die kopiert werden soll?
Da du in der Eröffnung geschrieben hast:
Zitat:
ein Zellbereich (Datensatz) soll markiert werden
ein Zellbereich (Datensatz) soll markiert werden
geh ich mal davon aus das ein zusammenhängender Bereich kopiert werden soll. Dann sieht doch die Syntax so aus
Sheets(1).Range("x:y").Copy
Sheets(2).Range("x:y").Paste
mit :
x = Anfangszelle links oben
y = Endzelle rechts unten
x = festvorgegeben?
y = cells(nx, howmuchcols)
Wenn du uns darüber noch mal etwas genauer aufklärst, wird dir sichrlich geholfen.
MfG
JöKe
Antwort 9 von nighty
hi all :))
fuer eine durchgehende markierung koennte es so aussehen :))
gruss nighty
Sub makro01()
Selection.Copy Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
End Sub
fuer eine durchgehende markierung koennte es so aussehen :))
gruss nighty
Sub makro01()
Selection.Copy Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1)
End Sub
Antwort 10 von guethi
Schreck, hier ist ja richtig was aufgelaufen. Ich hatte es bei der ursprünglichen Variante belassen, war zwar nicht elegant, aber pressierte etwas...
Vielen Dank aber allen, die mit geholfen haben.
Beste Grüße,
guethi
Vielen Dank aber allen, die mit geholfen haben.
Beste Grüße,
guethi

