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

Zwischenablage nicht leeren

Forumthread: Zwischenablage nicht leeren

Zwischenablage nicht leeren
07.05.2020 11:46:21
ulid
Hallo zusammen,
ich habe in einer Arbeitsmappe (Ziel), in der ein möglichst größer Bildausschnitt benötigt wird, die Funktionsleisten ausgeblendet.
Damit in anderen, gleichzeitig geöffneten Arbeitsmappen, die Leisten zur Verfügung stehen, verwende ich folgenden Code, der bei Wechsel der Arbeitsmappen, die Leisten an- bzw. ausschaltet.
Private Sub Workbook_Activate()
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
End Sub

Private Sub Workbook_Deactivate()
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
End Sub

nun zum Problem, bei dem Ihr mir hoffentlich helfen könnt:
wenn ich Daten aus einer anderen Datei in die Zwischenablage kopiere, um diese dann anschließend in der Zielarbeitsmappe einzufügen, ist dies nicht möglich, da bei Wechsel in die Zielarbeitsmappe nach Ausführen des oben aufgeführten Makro die Zwischenablage geleert wird.
Kann ich das irgendwie verhindern?
Besten Dank und viele Grüße
ulid
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zwischenablage nicht leeren
07.05.2020 12:03:34
Daniel
Hi
Die Excelzwischenablage wird bei bestimmten Aktionen geleert, das kannst du nicht verhindern.
Das einzige was man tun kann, ist diese Aktionen zu vermeiden, wenn man kopieren und einfügen will.
Dazu hast du zwei Möglichkeiten:
a) manuell
Hierzu klickst du vor dem Kopieren auf den Button "Entwurfsmodus" im Menü Enwicklertools. Solange der Entwurfsmodus aktiv ist, werden die Eventmakros nicht ausgeführt.
b) automatisch
Dazu musst du in den Makros abfragen, ob du Kopieren willst und die Menüleiste nur dann umschalten, wenn nicht.
Dazu kannst du folgende Abfrage verwenden:
If Not Application.CutCopyMode then Application.Excecute...
Gruß Daniel
Anzeige
AW: Zwischenablage nicht leeren
07.05.2020 14:11:55
ulid
Hallo Daniel,
vielen Dank. Die automatische Lösung ist perfekt.
Habe das noch in eine zusätzliche Abfrage gehüllt:
Private Sub Workbook_Activate()
ZL = Application.CutCopyMode
If ZL = 1 Then
Frage = MsgBox("Möchten Sie die Daten in der Zwischenablage behalten?", vbYesNo)
If Frage = vbYes Then Exit Sub Else GoTo sprung
Else
sprung: Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
End If
End Sub

Viele Grüße
Uli
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zwischenablage in Excel nicht leeren


Schritt-für-Schritt-Anleitung

Um die Excel-Zwischenablage beim Wechsel zwischen Arbeitsmappen nicht zu leeren, kannst du die folgenden Schritte ausführen:

  1. Öffne die Visual Basic for Applications (VBA) Umgebung in Excel, indem du ALT + F11 drückst.

  2. Füge den folgenden Code in das entsprechende Arbeitsblattmodul ein:

    Private Sub Workbook_Activate()
       ZL = Application.CutCopyMode
       If ZL = 1 Then
           Frage = MsgBox("Möchten Sie die Daten in der Zwischenablage behalten?", vbYesNo)
           If Frage = vbYes Then Exit Sub Else GoTo sprung
       Else
       sprung: Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
       End If
    End Sub
    
    Private Sub Workbook_Deactivate()
       Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
    End Sub
  3. Speichere deine Änderungen und schließe das VBA-Fenster.

  4. Teste den Code, indem du zwischen verschiedenen Arbeitsmappen wechselst und Daten kopierst.


Häufige Fehler und Lösungen

  • Fehler: Die Zwischenablage wird immer noch geleert.

    • Lösung: Stelle sicher, dass der Code korrekt implementiert ist. Überprüfe auch, ob der Entwurfsmodus aktiv ist, wenn du Daten kopierst.
  • Fehler: Der Code funktioniert nicht in deiner Excel-Version.

    • Lösung: Dieser Code funktioniert in Excel 2010 und später. Stelle sicher, dass du eine unterstützte Version verwendest.

Alternative Methoden

Wenn die oben genannte Methode nicht zu deinem gewünschten Ergebnis führt, kannst du folgende alternative Ansätze ausprobieren:

  1. Manuelles Leeren der Zwischenablage: Du kannst die Zwischenablage manuell leeren, indem du den "Entwurfsmodus" im Menü Entwicklertools aktivierst. Dadurch werden die Eventmakros deaktiviert, sodass die Excel-Zwischenablage nicht automatisch gelöscht wird.

  2. Verwendung von Clipboard-Management-Tools: Es gibt verschiedene Drittanbieter-Programme, die dir helfen können, deine Zwischenablage zu verwalten und auch die Funktion zum automatischen Leeren der Zwischenablage zu umgehen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Excel-Zwischenablage handhaben kannst:

  • Beispiel 1: Daten aus einer anderen Datei kopieren

    1. Öffne die Datei, aus der du kopieren möchtest.
    2. Kopiere die gewünschten Daten.
    3. Wechsle zur Zielarbeitsmappe und füge die Daten ein, während du den oben genannten VBA-Code verwendest.
  • Beispiel 2: Zwischenablage automatisch leeren Wenn du die Zwischenablage nach jedem Einfügen leeren möchtest, kannst du den folgenden VBA-Code verwenden:

    Application.CutCopyMode = False

Füge diesen Code nach dem Einfügen der Daten ein.


Tipps für Profis

  • Nutze den Entwurfsmodus vor dem Kopieren, um die Zwischenablage nicht zu leeren.
  • Erstelle Makros, die automatisch die Zwischenablage leeren, wenn du sicher bist, dass du die Daten nicht mehr benötigst.
  • Halte deine Excel-Version immer auf dem neuesten Stand, um von den neuesten Funktionen zu profitieren.

FAQ: Häufige Fragen

1. Wie kann ich die Excel-Zwischenablage leeren? Du kannst die Excel-Zwischenablage leeren, indem du Application.CutCopyMode = False in deinen VBA-Code einfügst.

2. Warum wird die Zwischenablage in Excel automatisch geleert? Die Zwischenablage wird in Excel bei bestimmten Aktionen automatisch geleert, um die Leistung zu optimieren und unerwünschte Datenübertragungen zu vermeiden.

3. Gibt es eine Möglichkeit, die Zwischenablage automatisch zu leeren? Ja, du kannst Makros verwenden, um die Zwischenablage automatisch zu leeren, wenn du bestimmte Bedingungen erfüllst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige