VBA Application.CutCopyMode = Fałsz
Jeśli nagrywałeś makra podczas kopiowania i wklejania, prawdopodobnie widziałeś następujący wiersz kodu:
1 | Application.CutCopyMode = Fałsz |
Ten wiersz kodu „czyści” schowek*. Jeśli skopiowałeś komórkę Excela, uruchomienie tego wiersza kodu spowoduje usunięcie animacji wokół skopiowanej komórki:
CutCopyMode to właściwość na poziomie aplikacji, która wskazuje, czy program pakietu Microsoft Office (np. Excel) jest w trybie wycinania lub kopiowania. W trybie kopiowania (lub wycinania) Excel ma coś przechowywanego w schowku, który można wkleić.
Nie znam czasu, w którym kiedykolwiek musiałbyś ustawić Application.CutCopyMode na True.
Unikanie CutCopyMode = False
Zwykle można uniknąć konieczności ustawiania Application CutCopyMode = False, korzystając z najlepszych praktyk VBA Kopiuj+Wklej. Na przykład poniższy wiersz kodu kopiuje i wkleja komórkę w jednym wierszu, eliminując potrzebę ustawiania CutCopyMode na False:
123 | Sub CopyPaste_OneLine()Zakres("a1").Zakres kopiowania("b1")Napis końcowy |
Uzyskaj status Application.CutCopyMode
Czasami możesz chcieć uzyskać stan Application.CutCopyMode. Potencjalnie, aby zapobiec błędom podczas próby wklejania, gdy nic nie znajduje się w schowku. Aby uzyskać status, użyj następującego kodu:
123456789101112 | Sub Get_Application_CutCopyMode_Status()Wybierz Case Application.CutCopyModeWielkość liter to = xlKopiujMsgBox "Tryb kopiowania"Wielkość liter = xlWytnijMsgBox "Tryb cięcia"Wielkość liter = FałszMsgBox "Nie w trybie wycinania lub kopiowania"Koniec WybierzNapis końcowy |
*Application.CutCopyMode wyczyści tylko schowek aplikacji Microsoft Office (np. Excel). Nie wyczyści schowka systemu Windows. Kliknij link, aby dowiedzieć się więcej o tym, jak wyczyścić schowek systemu Windows za pomocą VBA.