Vba: jak znaleźć ostatnio używaną kolumnę


Aby znaleźć ostatnio używaną kolumnę w arkuszu Excel, możesz użyć następującej podstawowej składni w VBA:

 Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub

Ten konkretny przykład wyszukuje ostatnio używaną kolumnę w bieżącym arkuszu i zwraca wynik w komórce A14 .

Jeśli zamiast tego chcesz wyświetlić ostatnią kolumnę okna komunikatu, możesz użyć następującej składni:

 Sub FindLastColumn()
Dim LastCol As Long
    
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column

MsgBox " Last Column: " & LastCol
End Sub

Poniższe przykłady pokazują, jak zastosować każdą z tych metod w praktyce.

Powiązane: VBA: Jak znaleźć ostatnio używaną linię

Przykład 1: Znajdź ostatnią kolumnę za pomocą VBA i wyświetl wyniki w komórce

Załóżmy, że mamy w programie Excel następujący zbiór danych zawierający informacje o różnych koszykarzach:

Możemy utworzyć następujące makro, aby znaleźć ostatnią kolumnę używaną w tym arkuszu Excela i wyświetlić wynik w komórce A14 :

 Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Zauważ, że komórka A14 zawiera wartość 2 .

To mówi nam, że ostatnią kolumną użytą w tym konkretnym arkuszu jest kolumna 2.

Warto również zauważyć, że jeśli masz puste kolumny przed używaną kolumną, to makro zawsze znajdzie ostatnio używaną kolumnę.

Załóżmy na przykład, że uruchamiamy makro na następującym zbiorze danych:

Komórka A14 zawiera wartość 5 , ponieważ jest to ostatnia kolumna zawierająca wartości.

Przykład 2: Znajdź ostatnią kolumnę za pomocą VBA i wyświetl wyniki w oknie komunikatu

Załóżmy zamiast tego, że chcemy znaleźć ostatnio używaną kolumnę w arkuszu i wyświetlić numer kolumny w oknie komunikatu.

W tym celu możemy utworzyć następujące makro:

 Sub FindLastColumn()
Dim LastCol As Long
    
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column

MsgBox " Last Column: " & LastCol
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

VBA znajduje ostatnio używaną kolumnę

Okno komunikatu informuje nas, że ostatnią kolumną używaną w arkuszu jest kolumna 2 .

Uwaga : Pełną dokumentację metody VBA Find znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak obliczyć średnią wartość zakresu
VBA: Jak policzyć liczbę wierszy w zakresie
VBA: Jak usunąć zduplikowane wartości w zakresie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *