Jak znaleźć numer wiersza za pomocą VBA w Excelu (4 makra)

  • Udostępnij To
Hugh West

Numery wierszy w Excelu możemy znaleźć na wiele sposobów, ale VBA oferuje więcej funkcji i dostosowań, dzięki którym możemy znaleźć numery wierszy w inteligentny sposób. Dziś ten artykuł pokaże 4 przydatne makra do znalezienia numeru wiersza w Excelu za pomocą VBA.

Pobierz Zeszyt ćwiczeń

Możesz pobrać stąd darmowy skoroszyt Excela i ćwiczyć samodzielnie.

Znajdź numer wiersza używając VBA.xlsm

4 Makra do wyszukiwania numeru wiersza za pomocą VBA w Excelu

Zapoznaj się z naszym zbiorem danych, który wykorzystamy do zbadania metod, które reprezentują niektóre sprzedaże sprzedawców w różnych regionach.

Makro 1: VBA do znalezienia numeru wiersza przez zmianę zaznaczenia

Najpierw użyjemy makra w Excelu VBA aby znaleźć numer wiersza poprzez zaznaczenie dowolnej komórki. Oznacza to, że jeśli zaznaczysz dowolną używaną komórkę, makro natychmiast pokaże numer wiersza. Aby to zrobić, musisz przechowuj kody w arkuszu , nie w module.

Kroki:

  • Kliknij prawym przyciskiem myszy na tytule arkusza i wybierz Wyświetl kod od menu kontekstowe .

  • Następnie napisz następujące kody-.
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rnumber As Integer Rnumber = ActiveCell.Row If ActiveCell.Value "" Then MsgBox "Numer wiersza klikniętej komórki to: " & Rnumber End If End Sub 
  • Później nie trzeba uruchamiać kodów, wystarczy wrócić do swojego arkusza.

Podział kodu:

  • Najpierw utworzyłem Private Sub procedura -. Worksheet_SelectionChange .
  • Następnie zadeklarowano zmienną Rnumber jako Integer .
  • wiersz określi numer wiersza aktywnej komórki.
  • Następnie. Jeśli instrukcja sprawdzi czy aktywna komórka jest pusta czy nie, a następnie MsgBox pokaże wyjście.
  • Teraz wystarczy kliknąć na dowolną używaną komórkę, a pokaże ona numer wiersza.

Read More: Excel VBA: Znajdź ciąg znaków w kolumnie i zwróć numer wiersza

Makro 2: Znajdź numer wiersza aktywnej komórki za pomocą VBA

Makro to zwróci numer wiersza aktywnej komórki w określonej komórce naszego arkusza. Tak więc w naszych kodach będziemy musieli podać nazwę arkusza i komórki wyjściowej. Tutaj użyjemy Komórka D14 jako nasza komórka wyjściowa.

Kroki:

  • Naciśnij ALT + F11 aby otworzyć Okno VBA .

  • Następnie kliknij w następujący sposób, aby wstawić nowy moduł: Insert> Moduł .

  • Następnie wpisz następujące kody w module-.
 Sub Find_Row_Number_of_an_Active_Cell() Dim wSheet As Worksheet Set wSheet = Worksheets("Active Cell") wSheet.Range("D14") = ActiveCell.row End Sub 
  • Następnie zwróć się z powrotem do swojego arkusza.

Podział kodu:

  • Tutaj, Find_Row_Number_of_an_Active_Cell() to Sub
  • Na stronie wSheet jest zadeklarowany jako Arkusz roboczy
  • Następnie. Ustaw deklaracja wybierze aktywną komórkę
  • Zakres zwróci numer wiersza w komórce wyjściowej.
  • Teraz wybierz komórkę i kliknij w następujący sposób: Developer> Makra .

  • Po pojawieniu się w Makro W oknie dialogowym wystarczy wybrać nazwę makra i nacisnąć Uruchom .

Wkrótce potem zobaczysz, że numer wiersza wybranej komórki jest zwracany w naszej komórce wyjściowej.

Widać, że B8 komórka została wybrana, więc 8 jest wyjściem.

Read More: Jak uzyskać numer wiersza bieżącej komórki w programie Excel (4 szybkie sposoby)

Podobne lektury

  • Jak zwiększyć liczbę wierszy w programie Excel (6 przydatnych sposobów)
  • Pobierz numer wiersza z zakresu z Excel VBA (9 przykładów)
  • Jak zwrócić numer wiersza komórki dopasowania w programie Excel (7 metod)
  • Jak uzyskać numer wiersza z wartości komórki w programie Excel (5 metod)

Makro 3: VBA, aby znaleźć numer wiersza przez dopasowanie wartości

Jeśli chcesz znaleźć numer wiersza poprzez wyszukanie wartości, to makro jest dla Ciebie. Będziesz musiał wymienić wartość wyszukiwania i numer kolumny w kodach, jak pokazano na poniższym obrazku.

Kroki:

  • Wykonaj dwa pierwsze kroki z poprzedniej metody aby wstawić nowy moduł.
  • Następnie wstaw w nim następujące kody-.
 Sub Find_Row_Matching_a_Value() Dim wBook As Workbook Dim wSheet As Worksheet Dim fCell As Range Set wBook = ActiveWorkbook Set wSheet = ActiveSheet Const Matching_Value As String = "Luka" Set fCell = wSheet.Range("B:B").Find(What:=Matching_Value) If Not fCell Is Nothing Then MsgBox (Matching_Value & " znajduje się w wierszu: " & fCell.row) Else MsgBox (Matching_Value & " Not matched") EndIf End Sub 
  • Po tym czasie wróć do swojego arkusza.

Podział kodu:

  • Tutaj funkcja Find_Row_Matching_a_Value() to. Sub
  • Oraz wBook oraz wSheet są zgłoszone jako Arkusz roboczy oraz fCell jest zgłoszony jako Zakres .
  • Na stronie wBook oraz wSheet są ustawione na ActiveWorkbook oraz ActiveSheet .
  • Const pobierze dane wejściowe dla szukanej wartości.
  • Później, Zakres wyszuka wartość poprzez wspomnianą kolumnę.
  • Następnie. Jeśli oraz Else instrukcja pokaże wynik przy użyciu MsgBox .
  • Później, wykonaj 5 krok z poprzedniej metody aby otworzyć Makro okno dialogowe.
  • Wybierz nazwa makra i po prostu naciśnij Uruchom .

Wkrótce w okienku powiadomień pojawi się numer wiersza.

Read More: Excel VBA: Zwróć numer wiersza wartości (5 odpowiednich metod)

Makro 4: Przycisk do wyszukiwania numeru wiersza

W naszej ostatniej metodzie pokażemy Ci najsprytniejszą metodę określania numeru wiersza za pomocą VBA makra. Stworzymy przycisk i przypiszemy do niego makro. Gdy klikniemy na przycisk, otworzy się okno wejściowe, w którym możemy podać szukaną wartość, dla której chcemy uzyskać numer wiersza. Poprzednie makro mogło przeszukiwać wspomnianą kolumnę, ale to makro może przeszukiwać dowolną kolumnę, w dowolnym miejscu arkusza.

Kroki:

  • Ponownie wykonaj dwa pierwsze kroki z drugiej metody aby wstawić nowy moduł.
  • Następnie wstawiamy do niego następujące kody -.
 Sub Find_Row_Number() Dim mValue As String Dim mrrow As Range mValue = InputBox("Wstaw wartość") Set mrrow = Cells.Find(What:=mValue, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False) If mrrow Is Nothing Then MsgBox ("No Match") Else MsgBox (mrrow.row) End If End Sub. 
  • Następnie wróć do swojego arkusza.

Podział kodu:

  • Najpierw utworzyłem Sub procedura Znajdź_Row_Numer().
  • Następnie zadeklarował dwie zmienne, mValue jako String oraz wiersz jako Zakres .
  • Następnie użył InputBox aby wstawić wartość.
  • Później Ustaw oraz Jeśli instrukcja znajdzie numer wiersza, jeśli nie jest on pusty.
  • Wreszcie MsgBox pokaże wyjście.
  • Później kliknij Developer> Insert a następnie wybierz Przycisk polecenie z Sekcja Kontrole formularza .

  • Wtedy dostaniesz znak plusa kursorem, przeciągnij w dowolne miejsce, klikając na arkuszu zgodnie z żądanym rozmiarem, a następnie zwolnij kliknięcie.

  • Po zwolnieniu przycisku myszy Przypisz Makro okno dialogowe zostanie otwarte automatycznie.
  • Wybierz nazwa makra jak wspomniano w kodeksach.
  • Następnie wystarczy nacisnąć OK .

  • Następnie kliknij prawym przyciskiem myszy na przycisk i wybierz Edycja tekstu aby edytować nazwę przycisku.

  • Wpisz nazwę przycisku, a następnie kliknij w dowolnym miejscu poza przyciskiem, a nazwa zostanie zmieniona.

  • Teraz kliknij na przycisk, otworzy on pole wprowadzania danych.
  • Na koniec wystarczy wstawić szukaną wartość i nacisnąć OK .

Teraz spójrz, pokazuje numer wiersza dopasowanej wartości.

Read More: Znajdź ciąg w kolumnie i zwróć numer wiersza w Excelu (7 sposobów)

Wniosek

To wszystko dla tego artykułu. Mam nadzieję, że procedury opisane powyżej będą wystarczająco dobre, aby znaleźć numer wiersza w Excelu za pomocą VBA. Zapraszam do zadawania wszelkich pytań w sekcji komentarzy i proszę o opinie. Odwiedź ExcelWIKI, aby dowiedzieć się więcej.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.