Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Zellinhalt löschen ohne Zwischenabla

VBA Zellinhalt löschen ohne Zwischenabla
07.02.2023 14:02:31
Wolfango
Hallo Experten,
ich habe folgende VBA-Zeilen (als Bestandteil eines längeren Codes), die den Zellinhalt des genannten Bereiches löschen sollen:
Range("A5:M92").Select
Application.CutCopyMode = False
Selection.ClearContents
Nach diesen Zeilen ist die Zwischenablage immer geleert.
Ist es Möglich die Zeilen so zu ändern, dass der Inhalt der Zwischenablage erhalten bleibt?
Danke für's Denken und Gruß,
Wo.

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Zellinhalt löschen ohne Zwischenabla
07.02.2023 15:08:58
peterk
Hallo
Range("A5:M92").ClearContents
Peter
AW: VBA Zellinhalt löschen ohne Zwischenabla
07.02.2023 15:47:14
Daniel
Hi Peter
bist du dir da sicher?
bei mir löscht das .ClearContents die Zwischenablage.
das könnte natürlich an meinem "alten" Excel 2016 liegen.
Kannst du bitte nochmal testen, ob bei dir die Zwischenablage nach dieser Aktion erhalten bleibt und mir dann sagen, welche Excelversion du verwendet hast?
Danke, Daniel
AW: VBA Zellinhalt löschen ohne Zwischenabla
07.02.2023 15:40:51
Daniel
Hi
1. Application.CutCopyMode = False ist die reguläre Anweisung, die Zwischenablage zu leeren. Wenn diese Aktion ausgeführt wird, dann leerst du die Zwischenablage bewusst und absichtlich (außer, du schreibst halt mal irgendwelchen Code hin, ohne dass du weißt, was dieser Code überhaupt bewirkt, aber das wäre ja ziemlich blöde)
2. neben der regulären Anweisung zum Löschen der Zwischenablage gibt es aber auch eine Reihe weiterer Aktionen, bei denen Excel die Zwischenablage automatisch leert. Eine davon ist auch das .ClearContents
ob die Zwischenablage gefüllt ist oder nicht, erkennst du am laufenden gestrichelten Rahmen um den kopierten Bereich (Ameisenrahmen). Solange dieser da ist, ist die Zwischenablage gefüllt, verschwindet dieser, so ist die Zwischenablage geleert. Auf diese weise kann man selber leicht testen, ob eine bestimmte Aktion den Zwischenspeicher leert oder nicht.
Du kannst zwar die Programmzeile Application.CutCopyMode = False aus dem Code entfernen, aber das automatische Leeren nach bestimmten Aktionen kannst du nicht verhindern.
Du musst also die Aktionen, die die Zwischenablage leeren, vermeiden.
Wenn du glück hast, gibt es alternative Methoden, die im Tabellenblatt das gleiche bewirken ohne die Zwischenablage zu beeinflussen.
Hast du dieses Glück nicht, dann bleibt dir nur der Weg, den Code entsprechend Umzustellen und diese Aktionen entweder vor dem Füllen der Zwsichenablage auszuführen, (also vor dem .Copy, wenn es das gibt) oder nach dem Verwenden der Zwischenablage, wenn du sie nicht mehr benötigst.
Du hast aber Glück, (zumindest was den von dir gezeigten Codeausschnitt betrifft) denn für Selection.ClearContents kann man alternativ auch Selection.Formula = "" verwenden, was die selbe Wirkung hat, ohne das die Zwischenablage geleert wird.
Gruß Daniel
Anzeige
AW: VBA Zellinhalt löschen ohne Zwischenabla
07.02.2023 16:16:46
Wolfango
Super! Ihr seid fantastisch! Vielen Dank!
Selection.Formula = "" ist der Hit! Damit funktioniert es!
Gruß,
Wo

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige