Spis treści
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.xlsm4 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.