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

Copy / Paste per VBA ohne Warnmeldung

Forumthread: Copy / Paste per VBA ohne Warnmeldung

Copy / Paste per VBA ohne Warnmeldung
31.10.2015 20:52:43
Mike
Hallo,
ich möchte gerne die Inhalte (nur die Werte) per VBA z.B. aus dem Bereich I2:I100 in G2:G100 kopieren.
Bisher verwende ich dazu folgenden Code, der auch funktioniert.
Das Problem hier ist jedoch, dass vor dem Einfügen immer eine Warnmeldung erscheint, die fragt, ob ich die Inhalte in den Zielzellen überschreiben möchte.
Kann mir jemand sagen, wie ich diese Meldung beim Einfügen umgehen kann ?
Mein Code:
Private Sub BtnReset_Click()
With Worksheets(7)
.Range("I2:I100").Copy
.Range("G2:G100").PasteSpecial (xlPasteValues)
End With
End Sub
Vielen Dank im Voraus,
Mike

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Copy / Paste per VBA ohne Warnmeldung
31.10.2015 20:57:58
Gerd
Hallo Mike!
Private Sub BtnReset_Click()
Worksheets(7).Range("G2:G100").Value = Worksheets(7).Range("I2:I100").Value
End Sub

Gruß Gerd

AW: Copy / Paste per VBA ohne Warnmeldung
31.10.2015 21:00:42
Mike
Hallo Gerd,
vielen Dank - das klappt super !
Gruß,
Mike
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Inhalte per VBA kopieren und Warnmeldungen umgehen


Schritt-für-Schritt-Anleitung

Um Werte aus einem Bereich in Excel per VBA zu kopieren, ohne dass eine Warnmeldung erscheint, kannst du folgenden Code verwenden:

  1. Öffne den VBA-Editor in Excel mit ALT + F11.
  2. Füge ein neues Modul ein oder nutze ein bestehendes.
  3. Kopiere den folgenden Code in das Modul:
Private Sub BtnReset_Click()
    Worksheets(7).Range("G2:G100").Value = Worksheets(7).Range("I2:I100").Value
End Sub
  1. Schließe den VBA-Editor und teste deinen Button in Excel.

Mit dieser Methode wird der Inhalt der Zellen von I2:I100 direkt in G2:G100 kopiert, ohne dass eine Warnmeldung erscheint. Dies ist eine effiziente Variante des excel vba copy paste.


Häufige Fehler und Lösungen

  • Fehler: Die Zielzellen sind geschützt.

    • Lösung: Stelle sicher, dass der Arbeitsblatt-Schutz deaktiviert ist, bevor du den Code ausführst.
  • Fehler: Der Code funktioniert nicht wie erwartet.

    • Lösung: Überprüfe, ob der richtige Arbeitsblattindex (hier Worksheets(7)) verwendet wird. Passe den Index gegebenenfalls an.

Alternative Methoden

Eine weitere Methode, um Werte ohne Warnmeldungen zu kopieren, ist die Verwendung der Range.Value-Eigenschaft, wie im obigen Beispiel gezeigt. Eine zusätzliche Möglichkeit wäre, die Copy und PasteSpecial-Methoden zu verwenden, allerdings ohne Warnmeldungen:

Private Sub BtnReset_Click()
    With Worksheets(7)
        .Range("I2:I100").Copy
        .Range("G2:G100").PasteSpecial Paste:=xlPasteValues
        Application.CutCopyMode = False
    End With
End Sub

Diese Methode nutzt Application.CutCopyMode = False, um den Kopiermodus zu beenden und Warnmeldungen zu vermeiden.


Praktische Beispiele

Hier ist ein einfaches Beispiel für das excel paste vba:

Angenommen, du möchtest die Werte von Zelle A1 in Zelle B1 kopieren:

Private Sub BtnCopy_Click()
    Worksheets(1).Range("B1").Value = Worksheets(1).Range("A1").Value
End Sub

Dieses Beispiel zeigt, wie du mit vba copy effizient arbeiten kannst.


Tipps für Profis

  • Verwende Application.ScreenUpdating = False, um die Bildschirmaktualisierung während des Kopiervorgangs zu verhindern. Dadurch wird der Prozess schneller:
Private Sub BtnReset_Click()
    Application.ScreenUpdating = False
    Worksheets(7).Range("G2:G100").Value = Worksheets(7).Range("I2:I100").Value
    Application.ScreenUpdating = True
End Sub
  • Denke daran, bei umfangreichen Datenmengen immer eine Sicherungskopie deiner Daten zu erstellen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Bereiche gleichzeitig kopieren?
Du kannst die Werte in mehrere Zellen kopieren, indem du die Zielbereiche entsprechend anpasst. Beispielsweise:

Private Sub BtnCopyMultiple_Click()
    With Worksheets(7)
        .Range("G2:G100").Value = .Range("I2:I100").Value
        .Range("H2:H100").Value = .Range("J2:J100").Value
    End With
End Sub

2. Welche Excel-Version benötige ich für VBA?
VBA ist in den meisten Versionen von Excel verfügbar, angefangen bei Excel 97 bis hin zu den neuesten Versionen. Achte darauf, dass die Makros aktiviert sind, um den VBA-Code auszuführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige