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

VBA Copy und Paste nur Werte

Forumthread: VBA Copy und Paste nur Werte

VBA Copy und Paste nur Werte
12.05.2020 19:41:30
Ralf
Hallo, ich habe das Problem, dass bei dem Makro die Formeln eingefügt werden und dann natürlicherweise
ein #Bezugsfehler kommt. Ich möchte deshalb nur die Werte einfügen. Hat jemand einen Rat?
VBA Code:

Sub copyCells()
Dim wsKopie As Worksheet, iLetzte
Set wsKopie = Tabelle2
Dim lastrow As Long
lastrow = Range("A65536").End(xlUp).Row
With ActiveSheet
iLetzte = wsKopie.Cells(wsKopie.Rows.Count, 1).End(xlUp).Row + 1
.Range("C7").Copy Destination:=Sheets(2).Range("A" & iLetzte)
.Range("t2").Copy Destination:=Sheets(2).Range("B" & iLetzte)
.Range("y7").Copy Destination:=Sheets(2).Range("C" & iLetzte)
.Range("").Copy Destination:=Sheets(2).Range("D" & iLetzte)
End With
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Copy und Paste nur Werte
12.05.2020 19:51:48
Hajo_Zi
strg+c, Zielzelle wählen. rechte Maustate, Inhalte einfügen, Werte.
Excel hat auch einen Makrorecorder.
GrußformelHomepage
Anzeige
AW: VBA Copy und Paste nur Werte
12.05.2020 20:02:51
Ralf
Hallo Hajo_Zi,
danke für die schnelle Rückmeldung.
Ich brauch das aber in meinem Makro, wie man kopiert und einfügt (Werte) wußte ich.
Irgend etwas mit "PasteSpecial Paste:=xlPasteValues, Operation" aber ich weiß nicht wo und wie
AW: VBA Copy und Paste nur Werte
12.05.2020 20:13:49
Hajo_Zi
ich bin dann raus, da meine Beiträge nicht komplett gelesen werden.
Das wird schon seinen Grund haben.
Gruß Hajo
Anzeige
AW: VBA Copy und Paste nur Werte
12.05.2020 21:15:10
Regina
Hi,
das geht dann nur in 2 Schritten:
 Sub copyCells()
Dim wsKopie As Worksheet, iLetzte
Set wsKopie = Tabelle2
Dim lastrow As Long
lastrow = Range("A65536").End(xlUp).Row
With ActiveSheet
iLetzte = wsKopie.Cells(wsKopie.Rows.Count, 1).End(xlUp).Row + 1
.Range("C7").Copy
Sheets(2).Range("A" & iLetzte).PasteSpecial xlPasteValues
.Range("t2").Copy
Sheets(2).Range("B" & iLetzte).PasteSpecial xlPasteValues
.Range("y7").Copy
Sheets(2).Range("C" & iLetzte).PasteSpecial xlPasteValues
.Range("").Copy
Sheets(2).Range("D" & iLetzte).PasteSpecial xlPasteValues
End With
End Sub
Gruß Regina
Anzeige
AW: VBA Copy und Paste nur Werte
13.05.2020 10:27:37
Ralf
Hallo Regina, perfect. Vielen Dank
AW: Lzf 1004 "Die Methode Range ..."
12.05.2020 23:59:28
GerdL
Hallo,
.Range("").Copy
zeichnet der Makrorekorder nicht auf !
Ist Sheets(2)u.Tabelle2 nur ein einziges Blatt ?
In welchem Blatt wird iletzte ermittelt ?
Gruß Gerd
AW: Lzf 1004 "Die Methode Range ..."
13.05.2020 10:29:29
Ralf
Hallo Gerd, nein es sind jeweils ein Tabellenblatt. letzte ist "tabelle2"
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Excel VBA: Nur Werte kopieren und einfügen


Schritt-für-Schritt-Anleitung

Um in Excel VBA nur Werte zu kopieren und einzufügen, kannst du die PasteSpecial-Methode verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie du deinen Code anpassen kannst:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.
  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deineArbeitsmappe)", wähle "Einfügen" und dann "Modul".
  3. Kopiere den folgenden VBA-Code in das Modul:
Sub copyCells()
    Dim wsKopie As Worksheet, iLetzte As Long
    Set wsKopie = Tabelle2
    Dim lastrow As Long
    lastrow = Range("A65536").End(xlUp).Row
    With ActiveSheet
        iLetzte = wsKopie.Cells(wsKopie.Rows.Count, 1).End(xlUp).Row + 1
        .Range("C7").Copy
        Sheets(2).Range("A" & iLetzte).PasteSpecial Paste:=xlPasteValues
        .Range("t2").Copy
        Sheets(2).Range("B" & iLetzte).PasteSpecial Paste:=xlPasteValues
        .Range("y7").Copy
        Sheets(2).Range("C" & iLetzte).PasteSpecial Paste:=xlPasteValues
        .Range("").Copy
        Sheets(2).Range("D" & iLetzte).PasteSpecial Paste:=xlPasteValues
    End With
End Sub
  1. Ändere die Zellreferenzen entsprechend deiner Bedürfnisse.
  2. Starte das Makro: Gehe zurück zu Excel und führe das Makro aus.

Häufige Fehler und Lösungen

  • Fehler #REF! beim Einfügen: Dieser Fehler tritt auf, wenn du Formeln kopierst und sie auf ein anderes Blatt einfügst. Stelle sicher, dass du die Methode .PasteSpecial Paste:=xlPasteValues verwendest.

  • "Methode Range nicht gefunden": Achte darauf, dass du die korrekten Zellreferenzen verwendest und dass das Blatt existiert.


Alternative Methoden

Falls du nicht programmieren möchtest, kannst du auch die folgenden Schritte in Excel selbst ausführen:

  1. Markiere die Zellen, die du kopieren möchtest.
  2. Drücke STRG + C, um zu kopieren.
  3. Rechtsklicke auf die Zielzelle.
  4. Wähle "Inhalte einfügen" und dann "Werte".

Diese Methode ist besonders nützlich, wenn du nur gelegentlich Werte kopieren und einfügen möchtest.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du mit Excel VBA nur Werte kopieren kannst:

Sub copyValuesExample()
    Sheets("Tabelle1").Range("A1:A10").Copy
    Sheets("Tabelle2").Range("B1").PasteSpecial Paste:=xlPasteValues
End Sub

In diesem Beispiel werden die Werte aus dem Bereich A1:A10 auf Tabelle1 in Zelle B1 auf Tabelle2 eingefügt.


Tipps für Profis

  • Verwende die Application.CutCopyMode = False, um den Kopiermodus zu beenden, nachdem du mit dem Einfügen fertig bist. Dadurch wird die Auswahl des kopierten Bereichs aufgehoben:
Application.CutCopyMode = False
  • Nutze die With-Anweisung, um den Code übersichtlicher zu gestalten und die Ausführung zu beschleunigen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen gleichzeitig kopieren?
Du kannst mehrere Zellen in einem Bereich auswählen, zum Beispiel Range("A1:D10"), und dann mit PasteSpecial die Werte einfügen.

2. Was ist der Unterschied zwischen .Copy und .PasteSpecial?
.Copy kopiert sowohl den Wert als auch die Formatierung, während .PasteSpecial dir erlaubt, nur die Werte oder nur die Formate einzufügen, abhängig von der Auswahl, die du triffst.

3. Kann ich die Kopieroperation in einer Schleife durchführen?
Ja, du kannst eine Schleife verwenden, um mehrere Bereiche nacheinander zu kopieren und einzufügen. Stelle sicher, dass du die Zellen korrekt referenzierst.

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