VBA Application.CutCopyMode = False
Als je macro's hebt opgenomen tijdens het kopiëren en plakken, heb je waarschijnlijk de volgende regel code gezien:
1 | Application.CutCopyMode = False |
Deze regel code "wist" het klembord*. Als je een Excel-cel hebt gekopieerd, zal het uitvoeren van deze coderegel de animatie rond de gekopieerde cel verwijderen:
CutCopyMode is een eigenschap op toepassingsniveau die aangeeft of een Microsoft Office-programma (bijv. Excel) zich in de modus Knippen of Kopiëren bevindt. In de kopieer- of knipmodus heeft Excel iets opgeslagen op het klembord dat kan worden geplakt.
Ik ben me niet bewust van een moment waarop u Application.CutCopyMode ooit op True zou moeten instellen.
CutCopyMode = False vermijden
U kunt meestal voorkomen dat u Application CutCopyMode = False hoeft in te stellen door gebruik te maken van best practices voor VBA Copy+Paste. Als voorbeeld kopieert en plakt de volgende regel code een cel in een enkele regel, waardoor het niet meer nodig is om CutCopyMode in te stellen op False:
123 | Sub CopyPaste_OneLine()Bereik ("a1"). Bereik kopiëren ("b1")Einde sub |
Status van Application.CutCopyMode ophalen
Af en toe wilt u misschien de status van Application.CutCopyMode. Potentieel om fouten te voorkomen tijdens het plakken wanneer er niets op het klembord staat. Gebruik de volgende code om de status te krijgen:
123456789101112 | Sub Get_Application_CutCopyMode_Status()Selecteer Case Application.CutCopyModeCase Is = xlCopyMsgBox "Kopieermodus"Case Is = xlCutMsgBox "Snijmodus"Case Is = FalseMsgBox "Niet in Knip- of Kopieermodus"Einde SelecterenEinde sub |
*Application.CutCopyMode wist alleen het klembord van de Microsoft Office-app (bijv. Excel). Het klembord van Windows wordt niet gewist. Klik op de link voor meer informatie over het wissen van het klembord van Window met VBA.