Vba: jak wstawić linię z formatowaniem
Możesz użyć następującej składni w VBA, aby wstawić linię o tym samym formacie, co linia powyżej:
Sub insertRowWithFormatting()
ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrAbove
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1).EntireRow.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End Sub
To konkretne makro wstawi wiersz pod aktualnie wybraną komórką z dokładnie takim samym formatowaniem jak komórki w aktualnie wybranym wierszu.
Uwaga : Linia Application.CutCopyMode = False określa, że tryb wycinania i kopiowania powinien być wyłączony po wykonaniu makra.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Powiązane: Jak wstawić wiele wierszy za pomocą języka VBA
Przykład: Wstaw linię z formatowaniem w VBA
Załóżmy, że mamy w programie Excel następujący zbiór danych zawierający informacje o różnych koszykarzach:
Załóżmy, że chcemy wstawić wiersz poniżej wiersza 2 z dokładnie takim samym formatowaniem.
W tym celu możemy utworzyć następujące makro:
Sub insertRowWithFormatting()
ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrAbove
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1).EntireRow.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End Sub
Możemy następnie wybrać komórkę A2 i uruchomić to makro.
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zauważ, że wstawiony nowy wiersz ma dokładnie taki sam format jak komórki w wierszu 2, łącznie z kolorami komórek i obramowaniem.
Należy również pamiętać, że wszystkie pozostałe wiersze w istniejącym zbiorze danych zostały po prostu przesunięte w dół.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak znaleźć ostatnio używaną linię
VBA: Jak policzyć liczbę wierszy w zakresie
VBA: Jak policzyć liczbę użytych kolumn