VBA Application.CutCopyMode = False
Ако сте записвали макроси по време на копиране и поставяне, вероятно сте видели следния ред код:
1 | Application.CutCopyMode = False |
Този ред код „изчиства“ клипборда*. Ако сте копирали клетка на Excel, изпълнението на този ред код ще премахне анимацията около копираната клетка:
CutCopyMode е свойство на ниво приложение, което показва дали програма на Microsoft Office (напр. Excel) е в режим на изрязване или копиране. Докато е в режим на копиране (или изрязване), Excel има нещо, съхранено в клипборда, което може да бъде поставено.
Не знам за момент, в който някога ще трябва да зададете Application.CutCopyMode на True.
Избягване на CutCopyMode = False
Обикновено можете да избегнете необходимостта да зададете Application CutCopyMode = False, като използвате най -добрите практики на VBA Copy+Paste. Като пример, следният ред код копира и поставя клетка в един ред, премахвайки необходимостта да зададете CutCopyMode на False:
123 | Sub CopyPaste_OneLine ()Диапазон ("a1"). Обхват на копиране ("b1")End Sub |
Вземете Status.CutCopyMode Status
Понякога може да искате да получите статуса на Application.CutCopyMode. Потенциално за предотвратяване на грешки при опит за поставяне, когато нищо не е в клипборда. За да получите статуса, използвайте следния код:
123456789101112 | Sub Get_Application_CutCopyMode_Status ()Изберете Case Application.CutCopyModeДелото е = xlCopyMsgBox "Режим на копиране"Делото е = xlCutMsgBox "Режим на изрязване"Случаят е = невярноMsgBox "Не е в режим на изрязване или копиране"Край ИзберетеEnd Sub |
*Application.CutCopyMode ще изчисти само клипборда на приложението Microsoft Office (напр. Excel). Няма да изчисти клипборда на прозореца. Щракнете върху връзката, за да научите повече за това как да изчистите клипборда на Window с помощта на VBA.