VBATools

Kopiowanie formatów komórek do innych arkuszy

by on Dec.29, 2011, under Excel, Porady

Załóżmy że mamy arkusz który jest szablonem. Chcemy aby każdy następny (lub tylko zdefiniowane) kopiowały ze wzorca format zadeklarowanego obszaru (wielkość czcionki, kolor, rodzaj czcionki, ramka i scalenie obszaru).

Nie możemy zrealizować zmiany formatu po edycji komórki, ponieważ procedura zdarzeniowa ogranicza się do wywołania podczas zaznaczenia komórki (a to po jej kliknięciu dopiero dochodzi do zmiany formatu), ale możemy wywołać iż za każdym razem wywołania arkusza będzie nadpisany format.

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim wzor As Worksheet: Set wzor = Sheets("WZóR")
If Sh.Name = wzor.Name Then Exit Sub
With Application
 .ScreenUpdating = False
 .EnableEvents = False
 'przypadek 1
 wzor.Range("ac3:ad3").Copy
 Sh.Range("ac3:ad3").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone
 'przypadek 2
 '...
 .ScreenUpdating = True
 .CutCopyMode = False
 .EnableEvents = True
End With
Set wzor = Nothing
End Sub

(c) Shon Oskar – www.VBATools.pl

Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.
:, , ,

Leave a Reply