Hur man hittar radnummer med VBA i Excel (4 makron)

  • Dela Detta
Hugh West

Vi kan hitta radnummer i Excel på många olika sätt, men VBA erbjuder fler funktioner och anpassningar. Med hjälp av dessa kan vi hitta radnummer på smarta sätt. Idag kommer den här artikeln att visa 4 användbara makron för att hitta radnummer i Excel med hjälp av VBA.

Ladda ner övningsboken

Du kan ladda ner den kostnadsfria Excel-arbetsboken här och öva på egen hand.

Hitta radnummer med hjälp av VBA.xlsm

4 makron för att hitta radnummer med hjälp av VBA i Excel

Vi introduceras till vårt dataset som vi kommer att använda för att utforska metoderna som representerar försäljningen av säljare i olika regioner.

Makro 1: VBA för att hitta radnummer genom att ändra urvalet

Först använder vi ett makro i Excel VBA för att hitta radnumret genom att välja en valfri cell. Detta innebär att om du bara väljer en valfri cell kommer makrot att visa radnumret direkt. För detta måste du spara koderna i ett ark , inte i modulen.

Steg:

  • Högerklicka på arkets titel och välj Visa kod från kontextmeny .

  • Skriv sedan följande koder-
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rnumber As Integer Rnumber = ActiveCell.row If ActiveCell.Value "" Then MsgBox "Radnumret för den klickade cellen är: " & Rnumber End If End Sub 
  • Senare behöver du inte köra koderna, utan går bara tillbaka till ditt ark.

Uppdelning av koden:

  • Först skapade jag en Privat underleverantör förfarande - Arbetsblad_SelectionChange .
  • Därefter deklarerades en variabel R-nummer som Heltal .
  • rad bestämmer radnumret för den aktiva cellen.
  • Därefter ska Om kontrollerar den aktiva cellen om den är tom eller inte, och sedan MsgBox kommer att visa resultatet.
  • Klicka nu bara på en cell som används så visas radnumret.

Läs mer: Excel VBA: Hitta sträng i kolumn och återge radnummer

Makro 2: Hitta radnumret för en aktiv cell med VBA

Detta makro returnerar radnumret för en aktiv cell i en specificerad cell i vårt ark. Vi måste alltså nämna arbetsbladets namn och utdatacellen i våra koder. Här använder vi Cell D14 som vår utgångscell.

Steg:

  • Tryck på ALT + F11 för att öppna VBA-fönster .

  • Klicka sedan på följande för att infoga en ny modul: Infoga> Modul .

  • Därefter skriver du följande koder i modulen-
 Sub Find_Row_Number_of_an_Active_Cell() Dim wSheet As Worksheet Set wSheet = Worksheets("Active Cell") wSheet.Range("D14") = ActiveCell.row End Sub 
  • Vänd sedan tillbaka till ditt blad.

Uppdelning av koden:

  • Här, Find_Row_Number_of_an_Active_Cell() är den Under
  • wSheet deklareras som en Arbetsblad
  • Då är det Ställ in kommer att välja den aktiva cellen.
  • Utbud returnerar radnumret i utdatacellen.
  • Välj nu en cell och klicka på följande sätt: Utvecklare> Makroner .

  • Efter att ha medverkat i Makro dialogrutan, väljer du bara makronamnet och trycker på Kör .

Strax därefter ser du att radnumret för den valda cellen återges i vår utdatacell.

Du kan se att den B8 cell har valts, så 8 är resultatet.

Läs mer: Hur man får fram radnumret för den aktuella cellen i Excel (4 snabba sätt)

Liknande läsningar

  • Hur man ökar radnumret i Excel-formeln (6 praktiska sätt)
  • Hämta radnummer från intervallet med Excel VBA (9 exempel)
  • Hur man returnerar radnummer för en cellmatch i Excel (7 metoder)
  • Hur man får radnummer från cellvärde i Excel (5 metoder)

Makro 3: VBA för att hitta radnummer genom att matcha ett värde

Om du vill hitta radnumret genom att söka efter ett värde är det här makrot för dig. Du måste ange sökvärdet och kolumnnumret i koderna som visas i bilden nedan.

Steg:

  • Följ de två första stegen från föregående metod för att infoga en ny modul.
  • Lägg sedan in följande koder i den-
 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 & " finns i raden: " & fCell.row) Else MsgBox (Matching_Value & " Inte matchad") EndOm Slutar Sub 
  • Gå sedan tillbaka till ditt blad.

Uppdelning av koden:

  • Här är Find_Row_Matching_a_Value() den Under
  • Och wBook och wSheet deklareras som Arbetsblad och fCell deklareras som Utbud .
  • wBook och wSheet är fastställda för ActiveWorkbook och ActiveSheet .
  • Const kommer att ta emot inmatning för sökvärdet.
  • Senare, Utbud söker värdet i den nämnda kolumnen.
  • Därefter ska Om och Annat kommer att visa resultatet med hjälp av MsgBox .
  • Senare, Följ det femte steget från föregående metod. för att öppna Makro dialogrutan.
  • Välj den Makronamn och trycker bara på Kör .

Snart kommer en meddelanderuta att visa radnumret.

Läs mer: Excel VBA: Återge radnumret för värdet (5 lämpliga metoder)

Makro 4: Knapp för att hitta radnummer

I vår sista metod visar vi dig den smartaste metoden för att bestämma ett radnummer med hjälp av VBA Vi skapar en knapp och tilldelar den ett makro. När vi klickar på knappen öppnas en inmatningsruta där vi kan ange det sökvärde som vi vill ha radnumret för. Det tidigare makrot kunde söka i en angiven kolumn, men det här makrot kan söka i vilken kolumn som helst, var som helst i arket.

Steg:

  • Följ återigen de två första stegen från den andra metoden. för att infoga en ny modul.
  • Lägg sedan in följande koder i it-
 Sub Find_Row_Number() Dim mValue As String Dim mrrow As Range mValue = InputBox("Sätt in ett värde") 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 
  • Gå sedan tillbaka till ditt blad.

Uppdelning av koden:

  • Först skapade jag en Under procedur Find_Row_Number().
  • Därefter deklarerade du två variabler, mValue som Sträng och rad som Utbud .
  • Därefter användes InputBox för att infoga ett värde.
  • Senare har den Ställ in och Om kommer att hitta radnumret om det inte är tomt.
  • Slutligen, den MsgBox kommer att visa resultatet.
  • Senare klickar du på Utvecklare> Infoga och välj sedan Knapp kommandot från Avsnittet Form Controls (Kontroller för formulär) .

  • Då får du en plustecken Dra med markören någonstans genom att klicka på arket i önskad storlek och släpp sedan klickningen.

  • När du släpper musen, kan du Tilldela makro öppnas automatiskt.
  • Välj den Makronamn som anges i koderna.
  • Tryck sedan på OK .

  • Högerklicka sedan på knappen och välj Redigera text för att redigera knappnamnet.

  • Skriv knappens namn och klicka sedan någonstans utanför knappen så ändras namnet.

  • Klicka nu på knappen så öppnas en inmatningsruta.
  • Slutligen, sätt bara in sökvärdet och tryck på OK .

Titta nu, den visar radnumret för det matchade värdet.

Läs mer: Hitta strängar i kolumnen och återge radnummer i Excel (7 sätt)

Slutsats

Det är allt för artikeln. Jag hoppas att de förfaranden som beskrivs ovan är tillräckligt bra för att hitta radnummer i Excel med hjälp av VBA. Ställ gärna frågor i kommentarsfältet och ge mig feedback. Besök ExcelWIKI för att utforska mer.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.