Supportnet Computer
Planet of Tech

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

Antwort 2 von nighty

hi :))

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

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

Antwort 5 von Event

Hallo Guethi

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

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

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:

Zitat:
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

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: