Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: kopieren ohne select

kopieren ohne select
13.05.2005 06:46:44
Klaus
Guten morgen zusammen
Wahrscheinlich ist dies eine ganz banale Frage für Euch:
ich möchte den Bereich G1:G50000 aus der Tabelle "Rohdaten" in die Tabelle "Hilfstabelle" in den Bereich ab C2 kopieren. Wenn ich es mit dem Recorder mache, geht es natürlich über die Select-Methode. Hab aber hier im Forum gelesen, dass man darauf verzichten soll. Wie sieht der Code aus ohne Select?
Gruss Klaus
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kopieren ohne select
13.05.2005 06:49:51
marcl
Hallo Klaus
sieht normalerweise so aus, oder?
Range("G1:G50000").Select
Selection.Copy
mach daraus:
Range("G1:G50000").Copy
Gruß
marcl
AW: kopieren ohne select
13.05.2005 06:54:11
Klaus
Hi Marcl
das habe ich schon gemacht, aber wie geht das mit dem Einfügen in das Blatt "Hilfstabelle"?
Gruss Klaus
AW: kopieren ohne select
13.05.2005 06:58:58
marcl

Sub Makro3()
Cells.Copy
Sheets("Hilfstabelle").Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
End Sub

Allerdings wird die Hilfstabelle dabei nicht angezeigt, weil ja jetzt die Select fehlt. Du siehst also die ganze Zeit Tabelle1.
Gruß
marcl
Anzeige
AW: kopieren ohne select
13.05.2005 07:04:53
Klaus
Hallo Marcl
Das wars. Vielen Dank für deine Hilfe.
Nur noch eine Frage, geht es auch ohne "PasteSpecial"?
Gruss Klaus
AW: kopieren ohne select
13.05.2005 07:32:14
WernerB.
Hallo Klaus,
warum kopieren?
Viel einfacher geht es mit einer Wertzuweisung.
Wie gefällt Dir das?

Sub Klaus()
Worksheets("Hilfstabelle").Range("C2:C50001").Value = _
Worksheets("Rohdaten").Range("G1:G50000").Value
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: kopieren ohne select
13.05.2005 07:15:50
Holger

Sub limiert()
[G1:G50000].Copy Sheets("Hilfstabelle").[C2]
End Sub

mfg Holger
AW: kopieren ohne select
13.05.2005 07:24:56
Klaus
Hallo Holger
Das ist genau das, was ich wollte. Vielen Dank
Gruss Klaus
;
Anzeige
Anzeige

Infobox / Tutorial

Kopieren ohne Select in Excel VBA


Schritt-für-Schritt-Anleitung

Um einen Zellbereich in Excel ohne die Select-Methode zu kopieren, kannst du folgenden VBA-Code verwenden. Dies ist besonders nützlich, um die Performance zu verbessern und den Code sauberer zu gestalten.

  1. Öffne den VBA-Editor (Alt + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Sub KopierenOhneSelect()
    Worksheets("Hilfstabelle").Range("C2:C50001").Value = _
    Worksheets("Rohdaten").Range("G1:G50000").Value
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus.

Dieser Code kopiert die Werte von "Rohdaten" in die "Hilfstabelle", ohne die Select-Methode zu verwenden.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs."

    • Lösung: Stelle sicher, dass die Tabellennamen korrekt sind. Überprüfe die Schreibweise von "Rohdaten" und "Hilfstabelle".
  • Fehler: "Method 'Range' of object '_Worksheet' failed."

    • Lösung: Überprüfe, ob der angegebene Zellbereich korrekt ist. Achte darauf, dass die Anzahl der Zeilen und Spalten im Zielbereich übereinstimmt.

Alternative Methoden

Eine andere Möglichkeit, Daten zu kopieren, besteht darin, die Copy-Methode zu verwenden, ohne Select. Hier ist ein einfaches Beispiel:

Sub AlternativeKopieren()
    [G1:G50000].Copy Sheets("Hilfstabelle").[C2]
End Sub

Dieser Code kopiert die Werte direkt in die Zielzelle und ist eine kompakte Möglichkeit, den Kopiervorgang durchzuführen.


Praktische Beispiele

  1. Kopieren mit Werten und Formatierungen:
Sub KopierenMitFormat()
    Worksheets("Rohdaten").Range("G1:G50000").Copy
    Worksheets("Hilfstabelle").Range("C2").PasteSpecial Paste:=xlPasteAll
End Sub
  1. Kopieren eines bestimmten Bereichs:

Du kannst auch nur bestimmte Zellen kopieren, zum Beispiel nur die Zellen, die Werte enthalten:

Sub KopierenMitWerten()
    Worksheets("Rohdaten").Range("G1:G50000").SpecialCells(xlCellTypeConstants).Copy
    Worksheets("Hilfstabelle").Range("C2")
End Sub

Tipps für Profis

  • Verwende die .Value-Zuweisung, wenn du nur die Werte ohne Formatierung übertragen möchtest. Das ist oft schneller und effizienter.
  • Nutze Application.ScreenUpdating = False, um das Bildschirmflackern zu reduzieren, während dein Makro läuft. Vergiss nicht, es am Ende wieder auf True zu setzen.
Sub OptimiertesKopieren()
    Application.ScreenUpdating = False
    Worksheets("Hilfstabelle").Range("C2:C50001").Value = Worksheets("Rohdaten").Range("G1:G50000").Value
    Application.ScreenUpdating = True
End Sub

FAQ: Häufige Fragen

1. Kann ich das Kopieren ohne Select in jeder Excel-Version verwenden? Ja, die meisten modernen Excel-Versionen unterstützen diese Methode. Stelle sicher, dass du VBA aktivieren kannst.

2. Was passiert mit formatierten Zellen beim Kopieren? Wenn du .Value verwendest, werden nur die Werte kopiert, ohne Formatierungen. Wenn du auch Formatierungen benötigst, verwende die Copy-Methode mit PasteSpecial.

3. Wie kann ich sicherstellen, dass das Kopieren nur bei nicht leeren Zellen erfolgt? Du kannst die SpecialCells-Methode verwenden, um nur nicht leere Zellen zu kopieren.

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