Mam proste makro, które kopiuje komórkę do innej komórki, scalając formatowanie warunkowe:
Sub test()
Range("A2").Copy
Range("A3").PasteSpecial Paste:=xlPasteAllMergingConditionalFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
Zawartość A2 jest 1
a reguła warunkowa jest prosta =ISODD($A2)
. Gdy wykonuję makro w programie Excel 2016 Mac, pojawia się ten błąd:
Błąd czasu wykonania „1004”:
Metoda „PasteSpecial” obiektu „Range” nie powiodła się
To samo makro działa doskonale w programie Excel dla Windows.
Jeśli zmienię XlPasteType
opcja z xlPasteAll
zamiast xlPasteAllMergingConditionalFormats
, makro jest wykonywane bez błędów.
Odpowiedzi:
2 dla odpowiedzi № 1Możesz nie mieć wszystkich wyliczeń i właściwości w VBA dla komputerów Mac, więc możesz zastąpić je bezpośrednio jego wartością.
Tutaj zastąp xlPasteAllMergingConditionalFormats
z 14.
Ponieważ przeglądarka obiektów (F2 w VBE) mówi:
Const xlPasteAllMergingConditionalFormats = 14