VBA Application.CutCopyMode = Fals
Dacă ați înregistrat macrocomenzi în timp ce copiați și lipiți, probabil ați văzut următoarea linie de cod:
1 | Application.CutCopyMode = Fals |
Această linie de cod „șterge” clipboard-ul *. Dacă ați copiat o celulă Excel, rularea acestei linii de cod va elimina animația din jurul celulei copiate:
CutCopyMode este o proprietate la nivel de aplicație care indică dacă un program Microsoft Office (ex. Excel) este în modul Cut sau Copy. În modul copiere (sau tăiere), Excel are ceva stocat în clipboard, care poate fi lipit.
Nu sunt conștient de un moment în care ar trebui să setați vreodată Application.CutCopyMode la True.
Evitarea CutCopyMode = False
De obicei, puteți evita să setați Application CutCopyMode = False utilizând cele mai bune practici VBA Copy + Paste. De exemplu, următoarea linie de cod copiază și lipeste o celulă într-o singură linie, eliminând necesitatea setării CutCopyMode la False:
123 | Sub CopyPaste_OneLine ()Gama ("a1"). Gama de copiere ("b1")Sfârșitul Sub |
Obțineți starea Application.CutCopyMode
Ocazional, poate doriți să obțineți starea Application.CutCopyMode. Potențial pentru a preveni erorile în timp ce încercați să lipiți când nimic nu este în clipboard. Pentru a obține starea, utilizați următorul cod:
123456789101112 | Sub Get_Application_CutCopyMode_Status ()Selectați Case Application.CutCopyModeCazul este = xlCopyMsgBox „Mod copiere”Cazul este = xlCutMsgBox „Mod de tăiere”Cazul este = falsMsgBox „Nu în modul Cut sau Copy”Selectare sfârșitSfârșitul Sub |
* Application.CutCopyMode va șterge doar clipboard-ul aplicației Microsoft Office (ex. Excel). Nu va șterge clipboard-ul Window. Faceți clic pe link pentru a afla mai multe despre cum puteți șterge clipboard-ul Window utilizând VBA.