Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range Copy - Range PasteSpecial xlPasteValues

Forumthread: Range Copy - Range PasteSpecial xlPasteValues

Range Copy - Range PasteSpecial xlPasteValues
09.05.2008 22:41:00
Peter
Guten Abend oder guten Tag
Ich möchte die Werte eines benannten Bereichs (Teil einer Spalte) in eine andere Tabelle kopieren, die erste Zelle ist mit "vStart" benannt.
Bei der dritten Zelle stoppt dieser Code. Kann ich nicht beim Einfügen nur eine Zelle in Form eines benannten Bereiches angeben?
Danke für eine Antwort.
Peter

Sub CopyValorenBank()
Range("Löschen") = ""             '  "Löschen" benannter Bereich in Tabelle "Vergleich"
Range("k_Bank").Copy             '  "k_Bank" benannter Bereich in Tabelle "Bank"
Range("vStart").PasteSpecial Paste: xlPasteValues  ' "vStart" =Zelle in Tab"Vergleich"
Application.CutCopyMode = False
End Sub


Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range Copy - Range PasteSpecial xlPasteValues
09.05.2008 22:49:00
chris
meinst du so ?

Sub CopyValorenBank()
Range("Löschen") = ""             '  "Löschen" benannter Bereich in Tabelle "Vergleich"
Range("k_Bank").Copy             '  "k_Bank" benannter Bereich in Tabelle "Bank"
Range("vStart").PasteSpecial xlPasteAll  ' "vStart" =Zelle in Tab"Vergleich"
Application.CutCopyMode = False
End Sub


Anzeige
AW: Range Copy - Range PasteSpecial xlPasteValues
09.05.2008 22:58:00
Peter
Hallo Chris
Ich habe festgestellt, dass der Code (sowohl deiner wie meiner) funktioniert, wenn ich anstelle
Paste: xlPasteValues
Paste:=xlPasteValues
schreibe.
Das Zeichen "=" hat einfach gefehlt.
Gruss, Peter

AW: Range Copy - Range PasteSpecial xlPasteValues
09.05.2008 22:52:37
Horst
Hi,
falsch:
Paste: xlPasteValues
richtig:
Paste:= xlPasteValues
mfg Horst

Anzeige
AW: Range Copy - Range PasteSpecial xlPasteValues
09.05.2008 22:58:44
Peter
Hallo Horst
Vielen Dank - das habe ich soeben auch festgestellt.
Gruss, Peter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Werte aus einem benannten Bereich in Excel kopieren und einfügen


Schritt-für-Schritt-Anleitung

Um Werte aus einem benannten Bereich in eine andere Tabelle zu kopieren, verwende den folgenden VBA-Code:

Sub CopyValorenBank()
    Range("Löschen") = ""             ' "Löschen" benannter Bereich in Tabelle "Vergleich"
    Range("k_Bank").Copy              ' "k_Bank" benannter Bereich in Tabelle "Bank"
    Range("vStart").PasteSpecial Paste:=xlPasteValues  ' "vStart" = Zelle in Tab "Vergleich"
    Application.CutCopyMode = False
End Sub

Achte darauf, dass du Paste:=xlPasteValues korrekt schreibst. Das Gleichheitszeichen = ist hier entscheidend. Wenn du stattdessen Paste: xlPasteValues schreibst, wird der Code nicht funktionieren.


Häufige Fehler und Lösungen

  1. Fehler: "Typen nicht kompatibel"

    • Lösung: Überprüfe, ob der benannte Bereich existiert und die richtige Schreibweise verwendet wird.
  2. Fehler: Der Code stoppt beim Einfügen.

    • Lösung: Stelle sicher, dass du das Gleichheitszeichen korrekt verwendest: Paste:=xlPasteValues.
  3. Fehler: Die Zielzelle ist nicht definiert.

    • Lösung: Überprüfe, ob der benannte Bereich vStart korrekt zugeordnet ist.

Alternative Methoden

Wenn du keine VBA verwenden möchtest, kannst du auch die Funktion "Kopieren" und "Einfügen" direkt in Excel nutzen:

  1. Markiere den benannten Bereich (z.B. k_Bank).
  2. Drücke Strg + C, um den Bereich zu kopieren.
  3. Gehe zu der Zielzelle (z.B. vStart).
  4. Klicke mit der rechten Maustaste und wähle "Inhalte einfügen".
  5. Wähle "Werte" aus, um nur die Werte einzufügen.

Diese Methode ist besonders nützlich, wenn du schnellere Ergebnisse ohne Programmierung erzielen möchtest.


Praktische Beispiele

Hier sind ein paar praktische Anwendungsbeispiele:

  • Einfügen in eine andere Tabelle:

    Sub CopyToAnotherSheet()
      Sheets("Bank").Range("k_Bank").Copy
      Sheets("Vergleich").Range("vStart").PasteSpecial Paste:=xlPasteValues
      Application.CutCopyMode = False
    End Sub
  • Einfügen in eine dynamische Zelle:

    Sub CopyToDynamicCell()
      Dim targetCell As Range
      Set targetCell = Sheets("Vergleich").Cells(1, 1) ' A1 als Zielzelle
      Range("k_Bank").Copy
      targetCell.PasteSpecial Paste:=xlPasteValues
      Application.CutCopyMode = False
    End Sub

Diese Beispiele zeigen, wie du mit VBA Werte effizient kopieren und einfügen kannst.


Tipps für Profis

  • Nutze Application.ScreenUpdating = False zu Beginn deines Codes, um die Bildschirmaktualisierung zu deaktivieren und die Ausführungsgeschwindigkeit zu erhöhen.
  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden.
  • Wenn du mit großen Datenmengen arbeitest, kann das Einfügen von Werten mit PasteSpecial anstelle von Copy und Paste wesentlich schneller sein.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen gleichzeitig kopieren?
Du kannst einen Bereich wie Range("A1:B10").Copy verwenden, um mehrere Zellen gleichzeitig zu kopieren.

2. Was ist der Unterschied zwischen xlPasteValues und xlPasteAll?
xlPasteValues fügt nur die Werte ein, während xlPasteAll auch Formate, Kommentare und andere Eigenschaften der Zellen einfügt.

3. Gibt es eine Möglichkeit, den kopierten Bereich dynamisch zu bestimmen?
Ja, du kannst Variablen verwenden, um die Größe des zu kopierenden Bereichs dynamisch zu bestimmen, z.B. mit Range("A1", Range("A1").End(xlDown)).

Nutze die Tipps und Beispiele, um deine Fähigkeiten im Umgang mit Excel VBA zu verbessern und effizienter zu arbeiten!

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige