Wie kann ich das Meldungsfeld in der Zwischenablage beim Kopieren großer Datenmengen in Excel vermeiden?

Wie kann ich das Meldungsfeld in der Zwischenablage beim Kopieren großer Datenmengen in Excel vermeiden?

Ich habe ein Makro, das 4 Blätter aus einer Arbeitsmappe in eine neue Arbeitsmappe kopiert und unter einem anderen Namen speichert.

Leider erscheint die Meldung, ob ichdiese große Datenmenge gerne für andere Anwendungen verfügbar machenführt dazu, dass dieser automatisierte Job zunehmend manueller wird.

Ich bin für jeden Tipp dankbar, wie ich das Meldungsfeld in der Zwischenablage vermeiden oder es einfach automatisch mit „Nein“ beantworten kann.

Antwort1

Ich würde das Makro ändern. Deaktivieren Sie die Warnmeldungen, wenn das Makro startet, und aktivieren Sie sie wieder, wenn das Makro beendet ist. Application.DisplayAlerts = False

Antwort2

Das Problem dabei Application.DisplayAlerts = Falseist, dass möglicherweise eine Warnung ausgeblendet wird, die Sie sehen müssen.

Verwendung Application.CutCopyMode = Falsenach dem Einfügen, wodurch die Verknüpfung zum großen Bereich aus der Zwischenablage entfernt wird.

Antwort3

Ich stimme Jon Peltier zu: „Das Problem dabei Application.DisplayAlerts = Falseist, dass möglicherweise eine Warnung ausgeblendet wird, die Sie sehen müssen.“ Außerdem müssen Sie daran denken, die Einstellungen Application.DisplayAlerts = Truenach Abschluss vorzunehmen, das sind also 3 Codezeilen für jedes Einfügen UND wenn Ihr Programm VORHER unterbricht, Application.DisplayAlerts = Truehaben Sie unwissentlich die Warnungen deaktiviert, bis Sie Excel beenden.

Ich habe seinen Vorschlag Application.CutCopyMode = Falsenach dem Einfügen getestet, er funktioniert einwandfrei. Hier ist ein Beispiel in someSpreadsheet.xls:

Workbooks.OpenText Filename:="someDirectory\someFile.txt", _
    DataType:=xlDelimited, TextQualifier:=xlNone, _
    Tab:=True
Cells.Select
Selection.Copy
Windows("someSpreadsheet.xls").Activate
ActiveSheet.Paste
Application.CutCopyMode = 0
Windows("someFile.txt").Activate
ActiveWorkbook.Close

Antwort4

Ich habe dieses MS-Dokument dazu gefunden. Es sieht so aus, als könnten Sie in Ihrem Makro verschiedene Programmlösungen verwenden, um das Problem zu lösen. Es hängt nur davon ab, was genau Sie in die Zwischenablage kopieren.KB-Nummer 287392

Hier ist der relevante Teil:

Methode 2: Beenden des CutCopyMode
Wenn Sie Visual Basic für Applikationen-Makros zum Ausschneiden oder Kopieren von Zellen verwenden, fügen Sie die folgende Zeile unmittelbar vor der Zeile ein, die die Arbeitsmappe schließt

workbook.Application.CutCopyMode = False

wobei „Arbeitsmappe“ Ihr Arbeitsmappenobjekt ist.

HINWEIS: Wenn Sie CutCopyMode auf True oder False setzen, kann Excel den Ausschneide- oder Kopiermodus abbrechen.

Methode 3: Speichern der Arbeitsmappe
Wenn Sie Visual Basic für Applikationen-Makros zum Ausschneiden oder Kopieren von Zellen verwenden, fügen Sie die folgende Zeile unmittelbar vor der Zeile ein, die die Arbeitsmappe schließt

workbook.Save

wobei „Arbeitsmappe“ Ihr Arbeitsmappenobjekt ist. Wenn Sie eine Arbeitsmappe speichern, befindet sich Excel nicht mehr im Ausschneide- oder Kopiermodus.

verwandte Informationen