Indholdsfortegnelse
Vi kan finde rækketal i Excel på mange måder, men VBA tilbyder flere funktioner og tilpasninger, hvorved vi kan finde rækketal på smarte måder. I dag vil denne artikel vise 4 nyttige makroer til at finde rækketal i Excel ved hjælp af VBA.
Download arbejdsbog til øvelser
Du kan downloade den gratis Excel-arbejdsbog her og øve dig selvstændigt.
Find række nummer ved hjælp af VBA.xlsm4 makroer til at finde rækketal ved hjælp af VBA i Excel
Introducer dig til vores datasæt, som vi skal bruge til at undersøge metoderne, der repræsenterer salg af nogle sælgere i forskellige regioner.
Makro 1: VBA til at finde rækkens nummer ved at ændre markeringen
Først skal vi bruge en makro i Excel VBA for at finde rækkens nummer ved at vælge en hvilken som helst celle. Det betyder, at hvis du bare vælger en hvilken som helst celle, vil makroen vise rækkens nummer med det samme. For at gøre det skal du opbevare koderne i et ark , ikke i modulet.
Trin:
- Højreklik på arkets titel, og vælg Se kode fra den kontekstmenu .
- Skriv derefter følgende koder-
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rnumber As Integer Rnumber = ActiveCell.row If ActiveCell.Value "" Then MsgBox "Række nummeret på den klikkede celle er: " & Rnumber End If End Sub
- Senere er det ikke nødvendigt at køre koderne, du skal bare gå tilbage til dit ark.
Opdeling af kode:
- Først oprettede jeg en Privat underafdeling procedure - Arbejdsark_SelectionChange .
- Derefter erklærede du en variabel R-nummer som Hele tal .
- række vil bestemme række nummeret på den aktive celle.
- Dernæst Hvis vil kontrollere den aktive celle, om den er tom eller ej, og derefter MsgBox vil vise resultatet.
- Nu skal du blot klikke på en vilkårlig celle, og den vil vise dig række nummeret.
Læs mere: Excel VBA: Find streng i kolonne og returner række nummer
Makro 2: Find række nummeret på en aktiv celle ved hjælp af VBA
Denne makro returnerer række nummeret på en aktiv celle i en specificeret celle i vores ark. Så vi er nødt til at nævne regnearkets navn og outputcellen i vores koder. Her vil vi bruge Celle D14 som vores udgangscelle.
Trin:
- Tryk på ALT + F11 for at åbne den VBA-vindue .
- Klik derefter på følgende for at indsætte et nyt modul: Indsæt> Modul .
- Derefter skal du skrive følgende koder i modulet-
Sub Find_Row_Number_of_an_Active_Cell() Dim wSheet As Worksheet Set wSheet = Worksheets("Active Cell") wSheet.Range("D14") = ActiveCell.row End Sub
- Vend derefter tilbage til dit ark.
Opdeling af kode:
- Her, Find_Row_Number_of_an_Active_Cell() er den Under
- wSheet erklæres som en Arbejdsark
- Derefter Indstil vil vælge den aktive celle
- Område returnerer rækkens nummer i outputcellen.
- Vælg nu en celle, og klik som følger: Udvikler> Makroer .
- Efter at have optrådt i Makro dialogboksen, skal du blot vælge makronavnet og trykke på Kør .
Kort efter vil du se, at række nummeret på den valgte celle returneres i vores outputcelle.
Du kan se, at den B8 celle er blevet valgt, så 8 er output.
Læs mere: Sådan får du række nummeret på den aktuelle celle i Excel (4 hurtige måder)
Lignende læsninger
- Sådan forøges række nummer i Excel formel (6 praktiske måder)
- Hent rækketal fra området med Excel VBA (9 eksempler)
- Sådan returneres række nummer af en celle match i Excel (7 metoder)
- Sådan får du række nummer fra celleværdi i Excel (5 metoder)
Makro 3: VBA til at finde rækkens nummer ved at matche en værdi
Hvis du vil finde rækkens nummer ved at søge efter en værdi, er denne makro noget for dig. Du skal angive søgeværdien og kolonnenummeret i koderne som vist i billedet nedenfor.
Trin:
- Følg de to første trin fra den foregående metode for at indsætte et nyt modul.
- Indsæt derefter følgende koder i det-
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 & " er placeret i række: " & fCell.row) Else MsgBox (Matching_Value & " Ikke matchet") EndHvis End Sub
- Derefter skal du gå tilbage til dit ark.
Opdeling af kode:
- Her er Find_Row_Matching_a_Value() den Under
- Og wBook og wSheet angives som Arbejdsark og fCell angives som Område .
- wBook og wSheet er fastsat for ActiveWorkbook og ActiveSheet .
- Const vil modtage input til den søgte værdi.
- Senere, Område vil søge værdien gennem den nævnte kolonne.
- Dernæst Hvis og Ellers vil vise resultatet ved hjælp af MsgBox .
- Senere, følg det 5. trin fra den foregående metode for at åbne den Makro dialogboksen.
- Vælg den Makronavn og blot trykke på Kør .
Snart vil du få vist række nummeret i en meddelelsesboks.
Læs mere: Excel VBA: Returner række nummer af værdi (5 egnede metoder)
Makro 4: Knap til at finde rækkens nummer
I vores sidste metode viser vi dig den smarteste metode til at bestemme et rækketal ved hjælp af VBA Vi laver en knap og tildeler en makro til den. Når vi klikker på knappen, åbner den et indtastningsfelt, hvor vi kan indtaste den søgeværdi, som vi vil have rækkens nummer for. Den tidligere makro kunne søge i en nævnt kolonne, men denne makro kan søge i enhver kolonne, hvor som helst i arket.
Trin:
- Følg igen de to første trin fra den anden metode for at indsætte et nyt modul.
- Indsæt derefter følgende koder i det-
Sub Find_Row_Number() Dim mValue As String Dim mrrow As Range mValue = InputBox("Indsæt en værdi") 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 If End Sub
- Gå derefter tilbage til dit ark.
Opdeling af kode:
- Først oprettede jeg en Under procedure Find_Row_Number().
- Derefter erklærede du to variabler, mValue som String og række som Område .
- Derefter blev brugt den InputBox for at indsætte en værdi.
- Senere har den Indstil og Hvis finder rækkens nummer, hvis det ikke er tomt.
- Endelig er det MsgBox vil vise resultatet.
- Senere skal du klikke på Udvikler> Indsæt og vælg derefter den Knap kommando fra den Afsnittet Form Controls .
- Så får du en plus-tegn med markøren, træk et vilkårligt sted ved at klikke på arket i den ønskede størrelse, og slip derefter klikket.
- Når du slipper musen, skal Tildel makro åbnes automatisk.
- Vælg den Makronavn som nævnt i kodekserne.
- Derefter skal du blot trykke på OK .
- Højreklik derefter på knappen, og vælg Rediger tekst for at redigere knappens navn.
- Skriv navnet på knappen, og klik derefter et sted uden for knappen, så ændres navnet.
- Klik nu på knappen, så åbnes et indtastningsfelt.
- Endelig skal du blot indsætte søgeværdien og trykke på OK .
Se nu, at den viser række nummeret på den matchede værdi.
Læs mere: Find streng i kolonne og returner række nummer i Excel (7 måder)
Konklusion
Det er alt for artiklen. Jeg håber, at de procedurer, der er beskrevet ovenfor, vil være gode nok til at finde række nummer i Excel ved hjælp af VBA. Du er velkommen til at stille spørgsmål i kommentarfeltet og giv mig venligst feedback. Besøg ExcelWIKI for at udforske mere.