I denne artikkelen skal vi lære hvordan du oppretter brukerdefinerte funksjoner i Microsoft Excel ved å bruke VBA.
Brukerdefinert funksjon:- Microsoft Excel har allerede mange funksjoner, men fortsatt har alle forskjellige krav, situasjon, vi kan lage vår egen funksjon i henhold til kravet som kalles brukerdefinert funksjon. Vi kan bruke brukerdefinert funksjon som andre funksjoner i Excel.
Nedenfor er temaene vi skal lage den brukerdefinerte funksjonen for:
1). Hvordan telle antall ord i celle eller område?
2). Hvordan trekker jeg ut et ord fra en setning eller celle i Excel?
3). Hvordan lage formelen for ISO?
4). Hvordan kjenne regnearket og arbeidsboknavnet ved hjelp av VBA?
5). Hvordan trekker jeg ut det første og siste ordet fra en celle i Excel?
Hvordan lage den brukerdefinerte funksjonen for å telle antall ord i celle eller område?
Vi har data i ark 1 der vi har noen adresser, så vi vil telle ordene i en celle eller et område ved å opprette den brukerdefinerte funksjonen gjennom VBA i Excel.
For å gjøre den brukerdefinerte funksjonen, følg trinnene nedenfor:-
- Åpne VBA -siden og trykk på tasten Alt+F11.
- Sett inn en modul.
Skriv koden nedenfor:
Funksjon WORDSCOUNT (rRange As Range) Så lenge Dim rCell Som Range Dim Count Så lenge for hver rCellInrRange lCount = lCount + Len (Trim (rCell)) - Len (Replace (Trim (rCell), "", "")) + 1 Neste rCell WORDSCOUNT = lCount Sluttfunksjon
Kode Forklaringer: - For å gjøre den brukerdefinerte funksjonen starter vi koden til funksjonsnavn og definerer variablene. Vi har brukt “For each loops” i koden for å telle ordene i området.
Hvordan bruke denne funksjonen i Excel?
Følg trinnene nedenfor for å bruke denne funksjonen:-
- Gå til Excel -ark.
- For å telle ordene for en celle, skriv inn formelen i celle D7.
- = WORDSCOUNT (C7), celle C7 er cellen der vi vil beregne ordene.
- Funksjonen returnerer 6, noe som betyr at celle C7 inneholder 6 ord.
- For å gjøre den samme beregningen for resten av cellene, kopierer du den samme formelen og limer inn i området.
- For å telle ordene i området, bruk formelen som = ORDTAL (C7: C16), og trykk Enter.
- Funksjonen vil returnere antall ord.
Merk:- Denne UDF vil være nyttig for å telle ordene i et område eller i en enkelt celle.
Nå skal vi skrive koden for å telle ordet ved å bruke den angitte skilletegnet (,). Følg trinnene nedenfor:-
Funksjon SEPARATECOUNTWORDS (rRange As Range, valgfri separator som variant) Så lenge Dim rCell Som Range Dim Count As Long If IsMissing (separator) Then separator = "," End If For Every rCellInrRange lCount = lCount + Len (Trim (rCell)) - Len (Erstatt (Trim (rCell), separator, "")) Neste rCell SEPARATECOUNTWORDS = lCount End -funksjon
Følg trinnene nedenfor for å bruke denne funksjonen:-
- Gå til Excel -ark.
- For å telle de spesifikke skilletegnene i ordet, bruker vi denne definerte funksjonen.
- = SEPARATECOUNTWORDS (C7) og trykk Enter.
- Funksjonen vil returnere tellingen av de spesifikke skilletegnene.
Hvordan trekke ut et ord fra en setning eller celle i Microsoft Excel ved hjelp av VBA?
Vi har data i ark1. Der vi har noen adresser, så vi ønsker å trekke ut ordene fra en setning eller celle eller et område ved å opprette den brukerdefinerte funksjonen gjennom VBA i Excel.
For å gjøre den brukerdefinerte funksjonen, følg trinnene nedenfor:-
- Åpne VBA -siden og trykk på tasten Alt+F11.
- Sett inn en modul.
- Skriv koden nedenfor:-
Funksjon GETWORD (tekst som variant, N som heltall, valgfri skilletegn som variant) som streng hvis IsMissing (skilletegn) deretter delimiter = "" Slutt hvis GETWORD = delt (tekst, skilletegn) (N - 1) Sluttfunksjon
Kode Forklaring:- I koden ovenfor har vi nevnt funksjonsnavn med variablene. Og så hadde vi definert kriteriene for å trekke ut ordet fra setning eller celle.
Nå skal vi lære hvordan du bruker denne formelen. Følg trinnene nedenfor:-
- Gå til Excel -ark.
- Bruk denne formelen i celle D7.
- = GETWORD (C7,2) og trykk Enter.
- Funksjonen vil returnere andre ord fra cellen fordi vi i formel hadde nevnt for 2nd tallets ord. Hvis du vil hente ordet som er plassert på 3rd posisjon, må du endre tallet fra 2 til 3 i formelen.
Hvordan lage ISO Ukenummerformel i Microsoft Excel ved hjelp av VBA?
Vi vil lære hvordan vi kan lage ISO -ukenummerformel i Excel med denne UDF. Denne funksjonen vil vi bruke til å identifisere at den nevnte datoen tilhører hvilket ukenummer i året.
Vi har en liste over dato i arket, og i den andre kolonnen ønsker vi å hente uketallene.
Følg trinnene nedenfor for å opprette UDF for dette kravet:-
- Åpne VBA -siden og trykk på tasten Alt+F11.
- Sett inn en modul.
- Skriv koden nedenfor:-
Funksjon ISOWEEKNUMBER (Angi som dato) Så lenge Dim Dt As Date Dt = DateSerial (Year (Indate - Weekday (Indate - 1) + 4), 1, 3) ISOWEEKNUMBER = Int ((Indate - Dt + Weekday (Dt) + 5 ) / 7) Sluttfunksjon
Kode Forklaring:-:- I koden ovenfor har vi nevnt funksjonsnavn med variablene. Og så hadde vi angitt datoverdien, og så hadde vi definert kriteriene for “ISOWEENUMBER” -funksjonen.
Hvordan kan vi bruke denne funksjonen i Excel -filen?
- Gå til Excel -ark.
- Skriv inn formelen i celle D7.
- = ISOWEEKNUMBER (C7), og trykk Enter.
- Funksjonen vil returnere uken for den angitte datoen i cellen. Nå for å hente ukenummeret for hver dato, kopierer du den samme formelen i området.
Nå skal vi lære å returnere ISO-standardene på året i Excel- første mandag i året.
Denne funksjonen vil i utgangspunktet kontrollere at 1st Mandag i året kommer til å falle på hvilken dato, og deretter vil det begynne å beregne antall uker fra den datoen. La oss se hvordan vi kan lage UDF for dette kravet.
Følg trinnene nedenfor:-
- Åpne VBA -siden og trykk på tasten Alt+F11.
- Sett inn en modul.
- Skriv koden nedenfor:-
Funksjon ISOSTYR (Year As Integer) As Date Dim WD As Integer Dim NY As Date NY = DateSerial (Year, 1, 1) WD = (NY - 2) Mod 7 If WD <4 Then ISOSTYR = NY - WD Else ISOSTYR = NY - WD + 7 End If End -funksjon
Kode Forklaring: - I koden ovenfor har vi nevnt funksjonsnavn med variablene. Og da hadde vi satt kriteriene for variablene, og så hadde vi definert formelinngangen.
Du trenger bare å gi året 2001 i dette formatet, og formelen gir deg 1st Mandag i året.
Nå skal vi lære hvordan du bruker UDF i Excel -fil. Følg trinnene nedenfor:-
- Gå til Excel -ark.
- Skriv inn formelen i celle D7.
- = ISOSTYR (C7) og trykk Enter.
- Funksjonen vil returnere datoen for 1st Mandag i nyttårs første uke.
- For å returnere datoen for 1st Mandag i nyttårs første uke, kopier den samme formelen og lim inn i området.
Hvordan vite navnet på regnearket og arbeidsboken ved å bruke VBA i Microsoft Excel?
Følg den gitte koden og trinnene nedenfor:-
- Åpne VBA -siden og trykk på tasten Alt+F11.
- Sett inn en modul.
- Skriv koden nedenfor:-
Funksjon Arbeidsarknavn () Arbeidsarknavn = Område ("A1"). Parent.Name Sluttfunksjon
Kode Forklaring:- I koden ovenfor har vi nevnt funksjonsnavn, og da hadde vi definert hvordan vi kjenner bladnavnet.
For å bruke denne formelen trenger du bare å skrive inn formelen i en hvilken som helst celle på denne måten: -= Arbeidsarknavn (). Funksjonen vil returnere arkenavnet.
For å opprette funksjonen for arbeidsboknavn, følg trinnene og koden nedenfor:-
- Åpne VBA -siden, trykk på tasten Alt+F11.
- Sett inn en modul.
- Skriv koden nedenfor:-
Function Workbookname () Workbookname = ThisWorkbook.Name Sluttfunksjon
Kode Forklaring:-:- I koden ovenfor har vi nevnt funksjonsnavn og da hadde vi definert hvordan vi skulle bli kjent med arbeidsboknavnet.
For å bruke denne formelen trenger du bare å skrive inn formelen i en hvilken som helst celle på denne måten: - = Workbookname (). Funksjonen vil returnere arkenavnet.
Hvordan trekker jeg ut det første og siste ordet fra en celle ved å bruke VBA i Microsoft Excel?
Vi har data i ark1 der vi har noen adresser, så vi vil trekke ut det siste og første ordet fra en setning eller celle eller et område ved å opprette den brukerdefinerte funksjonen gjennom VBA i Excel.
Først skal vi skrive funksjonen for å trekke ut det første ordet. Følg trinnene nedenfor:-
- Åpne VBA -siden, trykk på tasten Alt+F11.
- Sett inn en modul
Skriv koden nedenfor:-
Funksjon GETFW (Text As String, Valgfri separator som variant) Dim FW As String If IsMissing (Separator) Then Separator = "" End If FW = Left (Text, InStr (1, Text, Separator, vbTextCompare)) GETFW = Replace (FW , Separator, "") Sluttfunksjon
Kode Forklaring: - I koden ovenfor har vi nevnt funksjonsnavn med variablene. Og så har vi definert kriteriene for å trekke ut ordet fra setning eller celle.
Nå skal vi lære hvordan du bruker denne formelen. Følg trinnene nedenfor:-
- Gå til Excel -ark.
- Bruk denne formelen i celle D9.
- = GETFW (C9) og trykk Enter.
- Funksjonen vil returnere det første ordet fra dataene. For å hente det første ordet for alle cellene, kopierer du den samme formelen i området.
Nå skal vi skrive koden for å trekke ut det siste ordet fra cellen. Følg koden nedenfor:-
- Åpne VBA -siden, trykk på tasten Alt+F11.
- Sett inn en modul.
- Skriv koden nedenfor:-
Funksjon GETLW (Text As String, Valgfri separator som variant) Dim LW As String If IsMissing (Separator) Then Separator = "" End If LW = StrReverse (Text) LW = Left (lastword, InStr (1, LW, Separator, vbTextCompare) ) GETLW = StrReverse (Erstatt (LW, separator, "")) Sluttfunksjon
Nå skal vi lære hvordan du bruker denne formelen. Følg trinnene nedenfor:-
- Gå til Excel -ark.
- Bruk denne formelen i celle D9.
- = GETLW (C9) Trykk Enter.
- Funksjonen vil returnere det siste ordet fra dataene. Nå, for å hente det siste ordet for alle cellene, kopierer du den samme formelen i området.
Dette er funksjonene vi kan definere gjennom VBA og deretter bruke det som formel for Excel. Vi kan også lage mange flere brukerdefinerte funksjoner. Fortsett å lære med oss, vi kommer med mer vanskelige formler.