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

PasteSpecial in VBA

Forumthread: PasteSpecial in VBA

PasteSpecial in VBA
29.09.2004 09:17:48
Ferda
Hallo!
kann mir jemand sagen, wie ich eine PasteSpecial in VBA verwenden kann? Ich möchte Werte und Zahlenformate (Values and Numberformats) einfügen, aber ich konnte nicht finden, wie ich das definieren kann.
Worksheets("KV_Prognose").Cells(i, 8).Copy
Worksheets("Gesamt Prognose").Cells(k, 5).PasteSpecial......?
Es wäre nett, wenn mir jemand weiter helfen könnte.
Ferda
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: PasteSpecial in VBA
Dr.
Steht eindeutig in der VBA-Hilfe beschrieben!
AW: PasteSpecial in VBA
29.09.2004 09:25:47
ferda
danke, natürlich weiss ich aber ich konnte nicht finden wie ich das schreiben soll. alle was ich geschrieben habe nicht funktioniert.
Worksheets("KV_Prognose").Cells(i, 8).Copy
Worksheets("Gesamt Prognose").Cells(k, 5).PasteSpecial _
Type:=PasteValuesAndNumberFormats
ODER
Worksheets("KV_Prognose").Cells(i, 8).Copy
Worksheets("Gesamt Prognose").Cells(k, 5).PasteSpecial _
Operation:=xlPasteValuesAndNumberFormats
ODER
Worksheets("KV_Prognose").Cells(i, 8).Copy
Worksheets("Gesamt Prognose").Cells(k, 5).PasteSpecial (PasteValuesAndNumberFormats)
ich brauche weitere Hilfe!
Ferda
Anzeige
AW: PasteSpecial in VBA
Ingo
With Worksheets("Gesamt Prognose").Cells(k, 5)
.PasteSpecial (PasteValues)
.PasteSpecial (PasteFormats)
End with
mfG
Ingo Christiansen
AW: PasteSpecial in VBA
29.09.2004 10:14:11
ferda
danke schön!
das funktioniert aber wenn so geschrieben sind:
With Worksheets("Gesamt Prognose").Cells(k, 5)
.PasteSpecial (xlPasteValues)
.PasteSpecial (xlPasteFormats)
End with
MfG
Ferda
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

PasteSpecial in VBA: So verwendest du es richtig


Schritt-für-Schritt-Anleitung

  1. Zelle kopieren: Du kannst eine Zelle oder einen Zellbereich in einem Worksheet kopieren. Beispiel:

    Worksheets("KV_Prognose").Cells(i, 8).Copy
  2. PasteSpecial verwenden: Um die kopierten Werte und Formate in eine andere Zelle einzufügen, verwende die PasteSpecial-Methode:

    Worksheets("Gesamt Prognose").Cells(k, 5).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
  3. Verwendung von With: Eine elegante Möglichkeit, mehrere PasteSpecial-Befehle auszuführen:

    With Worksheets("Gesamt Prognose").Cells(k, 5)
       .PasteSpecial Paste:=xlPasteValues
       .PasteSpecial Paste:=xlPasteFormats
    End With

Häufige Fehler und Lösungen

  • Fehler: PasteSpecial funktioniert nicht

    • Überprüfe, ob die Zelle, in die du einfügen möchtest, bereits eine Auswahl hat. Vergewissere dich, dass die Zielzelle korrekt angegeben ist.
  • Fehler: Ungültiger Parameter

    • Stelle sicher, dass du die richtigen Parameter verwendest. Beispielsweise:
      Worksheets("Gesamt Prognose").Cells(k, 5).PasteSpecial Paste:=xlPasteValues

Alternative Methoden

  • Zellen direkt zuweisen: Anstatt PasteSpecial zu verwenden, kannst du die Werte und Formate direkt zuweisen:

    Worksheets("Gesamt Prognose").Cells(k, 5).Value = Worksheets("KV_Prognose").Cells(i, 8).Value
    Worksheets("Gesamt Prognose").Cells(k, 5).NumberFormat = Worksheets("KV_Prognose").Cells(i, 8).NumberFormat
  • Verwendung von Range: Wenn du mit einem Bereich arbeitest, kannst du auch Folgendes verwenden:

    Worksheets("KV_Prognose").Range("A1:B2").Copy
    Worksheets("Gesamt Prognose").Range("C1").PasteSpecial Paste:=xlPasteAll

Praktische Beispiele

  • Einfügen von Werten und Formaten: Um Werte und Formate aus einer Zelle in eine andere zu kopieren, benutze:

    Worksheets("KV_Prognose").Cells(i, 8).Copy
    Worksheets("Gesamt Prognose").Cells(k, 5).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
  • Kopieren und Einfügen in einer Schleife: Wenn du mehrere Zellen in einer Schleife kopieren musst:

    For i = 1 To 10
       Worksheets("KV_Prognose").Cells(i, 8).Copy
       Worksheets("Gesamt Prognose").Cells(i, 5).PasteSpecial Paste:=xlPasteValues
    Next i

Tipps für Profis

  • Verwende Application.CutCopyMode = False: Nach dem Einfügen kannst du den Kopiermodus deaktivieren, um das Blinken der Auswahl zu verhindern:

    Application.CutCopyMode = False
  • Fehlerbehandlung: Implementiere Fehlerbehandlung, um sicherzustellen, dass dein Code auch bei Problemen stabil bleibt:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich nur die Werte ohne Formate einfügen? Du kannst die PasteSpecial-Methode mit xlPasteValues verwenden:

Worksheets("Gesamt Prognose").Cells(k, 5).PasteSpecial Paste:=xlPasteValues

2. Gibt es eine Möglichkeit, mehrere Formate gleichzeitig einzufügen? Ja, du kannst mehrere PasteSpecial-Befehle in einem With-Block kombinieren:

With Worksheets("Gesamt Prognose").Cells(k, 5)
    .PasteSpecial Paste:=xlPasteValues
    .PasteSpecial Paste:=xlPasteFormats
End With

3. Was ist der Unterschied zwischen xlPasteValues und xlPasteValuesAndNumberFormats? xlPasteValues fügt nur die Werte ein, während xlPasteValuesAndNumberFormats sowohl die Werte als auch die Nummernformate einfügt.

4. Wie kann ich PasteSpecial in einer Excel-Makro einfügen? Du kannst die oben genannten Beispiele in einem VBA-Modul einfügen und das Makro über die Excel-Oberfläche ausführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige