Alternatywą, która używa nazwanych argumentów i dlatego jest o wiele bardziej przejrzysta, jest coś takiego.
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
Dodatni rowOffset przesuwa zaznaczenie w dół arkusza, ujemny rowOffset przesuwa w górę o określoną liczbę wierszy, a zerowy offset pozostawia wiersz, w którym znajduje się zaznaczenie, bez zmian.
Podobnie, dodatnie przesunięcia przesuwają zaznaczenie w prawo, podczas gdy ujemne przesunięcia przesuwają je w lewo. Zero, oczywiście, pozostawia kolumnę niezmienioną.
Zobacz Właściwość Range.Offset (Excel)
Dwa powiązane odkrycia mogą również zainteresować przyszłych gości.
- Wykonaj następujące czynności, aby wstawić kolumnę.
Selection.EntireColumn.Insert
i uważaj na Range.Insert, który podnosi błąd runtime 1004, przynajmniej w niektórych okolicznościach, takich jak chronione arkusze (nawet z dozwolonym wstawianiem kolumny, gdy jest ona chroniona).
- Opisana przed chwilą metoda pozostawia punkt wstawiania w nowej kolumnie, czego nie zauważyłem, dopóki nie przyszedłem tutaj w poszukiwaniu metody przenoszenia zaznaczenia (tylko po to, by odkryć, że jej nie potrzebowałem!).