VBA Application.CutCopyMode = Netiesa
Jei kopijuodami ir įklijuodami įrašėte makrokomandas, tikriausiai matėte šią kodo eilutę:
1 | Application.CutCopyMode = Netiesa |
Ši kodo eilutė „išvalo“ iškarpinę*. Jei nukopijavote „Excel“ langelį, vykdydami šią kodo eilutę animacija aplink nukopijuotą langelį bus pašalinta:
„CutCopyMode“ yra programos lygio ypatybė, nurodanti, ar „Microsoft Office“ programa (pvz., „Excel“) yra iškirpimo ar kopijavimo režimu. Kopijavimo (arba iškirpimo) režimu „Excel“ iškarpinėje yra kažkas, ką galima įklijuoti.
Aš nežinau, kada jums kada nors reikės nustatyti „Application.CutCopyMode“ į „True“.
Vengti „CutCopyMode“ = klaidinga
Paprastai galite išvengti poreikio nustatyti „Application CutCopyMode = False“ naudodami geriausią „VBA Copy+Paste“ praktiką. Pavyzdžiui, ši kodo eilutė kopijuoja ir įklijuoja langelį vienoje eilutėje, pašalindama poreikį nustatyti „CutCopyMode“ į „False“:
123 | Sub CopyPaste_OneLine ()Diapazonas („a1“). Kopijuoti diapazoną („b1“)Pabaiga Sub |
Gaukite „Application.CutCopyMode“ būseną
Retkarčiais galbūt norėsite gauti „Application.CutCopyMode“ būseną. Gali užkirsti kelią klaidoms bandant įklijuoti, kai iškarpinėje nieko nėra. Norėdami gauti būseną, naudokite šį kodą:
123456789101112 | Antrasis „Get_Application_CutCopyMode_Status“ ()Pasirinkite Case Application.CutCopyModeByla yra = xlCopy„MsgBox“ kopijavimo režimasByla yra = xlCut„MsgBox“ „Iškirpimo režimas“Byla yra = klaidinga„MsgBox“ „Ne iškirpimo ar kopijavimo režimu“Pabaiga PasirinkitePabaiga Sub |
*„Application.CutCopyMode“ išvalys tik „Microsoft Office“ programos (pvz., „Excel“) iškarpinę. Tai neišvalys „Windows“ iškarpinės. Spustelėkite nuorodą, kad sužinotumėte daugiau apie tai, kaip išvalyti „Windows“ iškarpinę naudojant VBA.