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

Forumthread: Zellinhalt überschreiben

Zellinhalt überschreiben
28.02.2007 16:04:35
Sascha
Hallo,
Ich hab ein kleines Problem, und zwar möchte ich von einer Tabelle aus in eine andere Tabelle Zellen kopieren, dies funktioniert auch soweit.
Nur wenn der Kopiervorgang durchgeführt wird fragt excel mit einer Dialogbox "Sollen die Inhalte der Zellen des Zielbereiches überschrieben werde?"
Wie kann ich diese Dialogbox umgehen, bzw. wie kann ich Sie mit ja beantworten ?

Private Sub CommandButton1_Click()
Range("A1:J1").Copy
Workbooks.Open("H:\Lebenslauf.xls").Activate
Worksheets("Tabelle1").Range("L1").PasteSpecial
Application.Run "Lebenslauf.xls!doppelte"
Range("A1:J4").Copy
Worksheets("Tabelle1").PasteSpecial
End Sub


Im Vorraus schon mal vielen Dank
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt überschreiben
28.02.2007 16:56:12
Thorsten_Z
Hallo Sascha,
Versuchs mal so:

Private Sub CommandButton1_Click()
Application.DisplayAlerts = False
Range("A1:J1").Copy
Workbooks.Open("H:\Lebenslauf.xls").Activate
Worksheets("Tabelle1").Range("L1").PasteSpecial
Application.Run "Lebenslauf.xls!doppelte"
Range("A1:J4").Copy
Worksheets("Tabelle1").PasteSpecial
Application.DisplayAlerts = True
End Sub

Gruß
Thorsten
Anzeige
AW: Zellinhalt überschreiben
28.02.2007 17:01:00
Sascha
Hi Torsten,
Super funktioniert einwandfrei.
Vielen Dank
Gruß
Sascha
Danke für die Rückmeldung O.T.
28.02.2007 17:03:34
Thorsten_Z
... Jaja :-) ich gucke auch immer, ob wirklich nichts mehr hier steht.
Gruß
Thorsten
Anzeige
Anzeige

Infobox / Tutorial

Zellinhalt in Excel überschreiben ohne Dialogbox


Schritt-für-Schritt-Anleitung

Um in Excel Zellen zu überschreiben, ohne die lästige Dialogbox zu bestätigen, kannst du den folgenden VBA-Code verwenden. Dieser Code deaktiviert die Warnmeldungen vorübergehend, sodass die Zellen überschrieben werden, ohne dass du manuell eingreifen musst.

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu:

    • Rechtsklick auf "VBAProject (DeinWorkbookName)" > Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:

    Private Sub CommandButton1_Click()
       Application.DisplayAlerts = False
       Range("A1:J1").Copy
       Workbooks.Open("H:\Lebenslauf.xls").Activate
       Worksheets("Tabelle1").Range("L1").PasteSpecial
       Application.Run "Lebenslauf.xls!doppelte"
       Range("A1:J4").Copy
       Worksheets("Tabelle1").PasteSpecial
       Application.DisplayAlerts = True
    End Sub
  4. Speichere den Code und schließe den VBA-Editor.

  5. Klicke auf den Button, um den Code auszuführen und die Inhalte der Zellen zu überschreiben.


Häufige Fehler und Lösungen

  • Problem: Die Dialogbox erscheint trotzdem.

    • Lösung: Stelle sicher, dass Application.DisplayAlerts = False vor dem Kopieren der Zellen gesetzt ist und dass es nach dem Kopieren wieder auf True gesetzt wird.
  • Problem: Die Datei öffnet sich nicht.

    • Lösung: Überprüfe den Dateipfad und stelle sicher, dass die Datei existiert und der Pfad korrekt ist.

Alternative Methoden

Falls du keine VBA-Makros verwenden möchtest, kannst du auch die folgenden Methoden ausprobieren:

  1. Kopieren und Einfügen mit STRG + V: Dies wird die vorhandenen Inhalte überschreiben und es erscheint keine Dialogbox, solange du die Zellen nicht manuell auswählst.

  2. Datenübertragung per Power Query: Damit kannst du Daten in eine neue Tabelle importieren und vorhandene Zellen überschreiben, ohne eine Dialogbox zu sehen.


Praktische Beispiele

Angenommen, du hast eine Tabelle mit Verkaufszahlen in "Tabelle1" und möchtest diese in "Tabelle2" übertragen. Du kannst den obigen VBA-Code anpassen, um die Zellen zu überschreiben:

Private Sub CommandButton1_Click()
    Application.DisplayAlerts = False
    Range("B2:B10").Copy
    Workbooks.Open("H:\Verkaufszahlen.xls").Activate
    Worksheets("Tabelle2").Range("C2").PasteSpecial
    Application.DisplayAlerts = True
End Sub

Hierbei werden die Zellen von B2 bis B10 in "Tabelle1" ohne Bestätigung in "Tabelle2" eingefügt.


Tipps für Profis

  • Teste den VBA-Code immer in einer Kopie deiner Arbeitsmappe, um Datenverluste zu vermeiden.
  • Nutze Application.ScreenUpdating = False, um die Aktualisierung des Bildschirms während des Kopiervorgangs zu deaktivieren und die Ausführung zu beschleunigen.
  • Achte darauf, dass du im Code die richtigen Zelladressen angibst, um unerwünschte Überschreibungen zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den VBA-Code anpassen, um nur bestimmte Zellen zu überschreiben?
Du kannst die Range-Anweisung im Code anpassen, um nur die gewünschten Zellen zu überschreiben, z.B. Range("A1:A10").

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen (Excel 2007 und später). Achte jedoch auf die spezifischen Einstellungen deiner Excel-Version.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige