Jak zjistit číslo řádku pomocí VBA v aplikaci Excel (4 makra)

  • Sdílet Toto
Hugh West

Čísla řádků můžeme v aplikaci Excel zjistit mnoha způsoby, ale VBA nabízí více funkcí a přizpůsobení. Pomocí nich můžeme chytrými způsoby vyhledávat čísla řádků. Dnes si v tomto článku ukážeme 4 užitečná makra pro vyhledávání čísel řádků v Excelu pomocí VBA.

Stáhnout cvičebnici

Bezplatný sešit aplikace Excel si můžete stáhnout zde a procvičovat samostatně.

Zjištění čísla řádku pomocí VBA.xlsm

4 makra pro zjištění čísla řádku pomocí VBA v aplikaci Excel

Seznamte se s naším souborem dat, který použijeme k prozkoumání metod, které představují některé prodeje prodejců v různých regionech.

Makro 1: VBA pro vyhledání čísla řádku změnou výběru

Nejprve použijeme makro v aplikaci Excel. VBA zjistit číslo řádku výběrem libovolné buňky. To znamená, že pokud stačí vybrat jakoukoli použitou buňku, makro okamžitě zobrazí číslo řádku. K tomu je třeba, abyste si uchovávejte kódy v archu , nikoli v modulu.

Kroky:

  • Klikněte pravým tlačítkem myši na název listu a vyberte možnost Zobrazit kód z kontextová nabídka .

  • Pak napište následující kódy-
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rnumber As Integer Rnumber = ActiveCell.row If ActiveCell.Value "" Then MsgBox "Číslo řádku kliknuté buňky je: " & Rnumber End If End Sub 
  • Později není třeba spouštět kódy, stačí se vrátit k listu.

Rozdělení kódu:

  • Nejprve jsem vytvořil Soukromý subdodavatel postup - Worksheet_SelectionChange .
  • Pak deklarujte proměnnou Rčíslo jako Celé číslo .
  • řádek určí číslo řádku aktivní buňky.
  • Dále Pokud příkaz zkontroluje, zda je aktivní buňka prázdná nebo ne, a pak MsgBox zobrazí výstup.
  • Nyní stačí kliknout na jakoukoli použitou buňku a zobrazí se číslo řádku.

Přečtěte si více: Excel VBA: Vyhledání řetězce ve sloupci a vrácení čísla řádku

Makro 2: Zjištění čísla řádku aktivní buňky pomocí VBA

Toto makro vrátí číslo řádku aktivní buňky v zadané buňce našeho listu. V našich kódech tedy budeme muset uvést název listu a výstupní buňku. Zde použijeme následující příkaz Buňka D14 jako výstupní buňku.

Kroky:

  • Tisk ALT + F11 otevřít Okno VBA .

  • Poté klikněte na následující tlačítko a vložte nový modul: Vložit> Modul .

  • Poté do modulu zadejte následující kódy-
 Sub Find_Row_Number_of_an_Active_Cell() Dim wSheet As Worksheet Set wSheet = Worksheets("Active Cell") wSheet.Range("D14") = ActiveCell.row End Sub 
  • Pak se vraťte k listu.

Rozdělení kódu:

  • Zde, Find_Row_Number_of_an_Active_Cell() je Sub
  • Na stránkách wSheet je deklarován jako Pracovní list
  • Pak se Sada příkaz vybere aktivní buňku
  • Rozsah vrátí číslo řádku ve výstupní buňce.
  • Nyní vyberte buňku a klikněte takto: Vývojář> Makra .

  • Poté, co se objevil v Makro dialogové okno, stačí vybrat název makra a stisknout tlačítko Spustit .

Brzy poté uvidíte, že číslo řádku vybrané buňky je vráceno do naší výstupní buňky.

Můžete si všimnout, že B8 byla vybrána buňka, takže výstupem je 8.

Přečtěte si více: Jak získat číslo řádku aktuální buňky v aplikaci Excel (4 rychlé způsoby)

Podobná čtení

  • Jak zvýšit číslo řádku ve vzorci aplikace Excel (6 praktických způsobů)
  • Získání čísla řádku z rozsahu pomocí aplikace Excel VBA (9 příkladů)
  • Jak vrátit číslo řádku shody buňky v aplikaci Excel (7 metod)
  • Jak získat číslo řádku z hodnoty buňky v aplikaci Excel (5 metod)

Makro 3: VBA pro vyhledání čísla řádku porovnáním s hodnotou

Pokud chcete vyhledáním hodnoty zjistit číslo řádku, pak je toto makro určeno právě vám. V kódech musíte uvést hledanou hodnotu a číslo sloupce, jak je znázorněno na obrázku níže.

Kroky:

  • Postupujte podle prvních dvou kroků předchozí metody vložit nový modul.
  • Pak do něj vložte následující kódy.
 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 & " is located in row: " & fCell.row) Else MsgBox (Matching_Value & " Not matched") EndIf End Sub 
  • Poté se vraťte k listu.

Rozdělení kódu:

  • Zde je funkce Find_Row_Matching_a_Value(). Sub
  • A wBook a wSheet jsou deklarovány jako Pracovní list a fCell je deklarován jako Rozsah .
  • Na stránkách wBook a wSheet jsou stanoveny pro ActiveWorkbook a ActiveSheet .
  • Const převezme vstup pro hledanou hodnotu.
  • Později, Rozsah vyhledá hodnotu v uvedeném sloupci.
  • Dále Pokud a Jinak příkaz zobrazí výsledek pomocí MsgBox .
  • Později, postupujte podle 5. kroku předchozí metody otevřít Makro dialogové okno.
  • Vyberte název makra a stačí stisknout Spustit .

Brzy se zobrazí okno s upozorněním na číslo řádku.

Přečtěte si více: Excel VBA: Vrácení čísla řádku hodnoty (5 vhodných metod)

Makro 4: Tlačítko pro vyhledání čísla řádku

V naší poslední metodě si ukážeme nejchytřejší metodu určení čísla řádku pomocí VBA makra. Vytvoříme tlačítko a přiřadíme k němu makro. Když na tlačítko klikneme, otevře se vstupní pole, do kterého můžeme zadat hledanou hodnotu, pro kterou chceme číslo řádku. Předchozí makro mohlo hledat ve zmíněném sloupci, ale toto makro může hledat v libovolném sloupci, kdekoli v listu.

Kroky:

  • Opět postupujte podle prvních dvou kroků druhé metody. vložit nový modul.
  • Dále do něj vložte následující kódy.
 Sub Find_Row_Number() Dim mValue As String Dim mrrow As Range mValue = InputBox("Vložit hodnotu") 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 
  • Pak se vraťte k listu.

Rozdělení kódu:

  • Nejprve jsem vytvořil Sub procedura Find_Row_Number().
  • Poté deklarujte dvě proměnné, mHodnota jako Řetězec a řádek jako Rozsah .
  • Pak použil InputBox vložit hodnotu.
  • Později se Sada a Pokud příkaz najde číslo řádku, pokud není prázdné.
  • Nakonec MsgBox zobrazí výstup.
  • Později klikněte na Vývojář> Vložit a poté vyberte Tlačítko z příkazu Sekce Ovládací prvky formuláře .

  • Pak získáte znaménko plus přetáhněte kursorem kamkoli na list podle požadované velikosti a potom kliknutí uvolněte.

  • Po uvolnění myši se Přiřazení makra Dialogové okno se otevře automaticky.
  • Vyberte název makra jak je uvedeno v kodexech.
  • Pak stačí stisknout OK .

  • Poté klikněte pravým tlačítkem myši na tlačítko a vyberte možnost Upravit text upravit název tlačítka.

  • Zadejte název tlačítka, poté klikněte kamkoli mimo tlačítko a název se změní.

  • Nyní klikněte na tlačítko, které otevře vstupní pole.
  • Nakonec stačí vložit hledanou hodnotu a stisknout tlačítko OK .

Nyní se podívejte, že se zobrazuje číslo řádku odpovídající hodnoty.

Přečtěte si více: Vyhledání řetězce ve sloupci a vrácení čísla řádku v aplikaci Excel (7 způsobů)

Závěr

To je pro tento článek vše. Doufám, že výše popsané postupy budou dostatečně dobré pro zjištění čísla řádku v Excelu pomocí VBA. Neváhejte se zeptat na jakoukoli otázku v sekci komentářů a prosím, dejte mi zpětnou vazbu. Navštivte ExcelWIKI a prozkoumejte více.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.