VBA SubString

Excel VBA SubString

Excel VBA SubString is een zeer nuttige functie in VBA die wordt gebruikt om gegevens in stukjes en beetjes te snijden in de vorm van een tekenreeks. Maar in werkblad functies, hebben we drie substring functies die links-rechts en midden functie, terwijl in VBA hebben we links-rechts midden en splitsen functies als substring functies. Zoals de naam al zegt verdeelt de substring functie in VBA een string in meerdere SubStrings. Ook zoals hierboven uitgelegd zijn er in VBA meerdere VBA Substring functies. In dit artikel zullen we leren hoe we deze substring functies afzonderlijk kunnen gebruiken met voorbeelden. Voordat we verder gaan met de voorbeelden eerst laten we leren de syntaxis van deze functies en welk argument deze functies te nemen als input.

Syntaxis van Excel VBA SubString

Volgende zijn de verschillende syntaxis:

Bekijk onze Demo Cursussen en Video’s

Valuation, Hadoop, Excel, Mobile Apps, Web Development & nog veel meer.

Syntaxis van de functie Left SubString:

Tekststring is de tekenreeks die we als invoer opgeven, terwijl de lengte het aantal tekens is dat we uit de invoertekenreeks willen halen.

Voorbeeld: Als we een string hebben als ANAND en AN als substring willen, wordt de code

Links (“ANAND”,2)

Syntax van de functie Rechts SubString:

Tekststring is de string die we als invoer opgeven, terwijl de lengte het aantal tekens is dat we van de ingevoerde string willen.

Voorbeeld: Als we een string als ANAND hebben en dezelfde code als hierboven gebruiken, wordt het resultaat

Right (“ANAND”,2)

Dit geeft ND als resultaat.

Syntaxis van de functie Mid SubString in VBA:

Tekststring is de tekenreeks die we als invoer opgeven en Startpositie is de positie waar we het teken willen laten beginnen voor extractie, terwijl de lengte het aantal tekens is dat we uit de invoertekenreeks willen halen.

Voorbeeld: We hebben een string als COMPUTER en we willen PUT als de substring dan wordt de code als volgt:

MID (“COMPUTER”,4,3)

Syntax van Split SubString Functie:

  • Expression As String: Dit is een verplicht argument in de SPLIT functie. Het is in feite de invoertekenreeks die we opgeven.
  • Scheidingsteken: Dit is een optioneel argument. Het is het specifieke scheidingsteken dat de string verdeelt, maar standaard wordt spatie als standaard scheidingsteken beschouwd.
  • Limit: Dit is ook een optioneel argument. Limiet betekent het maximum aantal delen dat we van een string willen doen. Maar ook hier geldt dat als we de functie geen limiet geven, VBA deze standaard behandelt als -1. Hieruit volgt dat de tekenreeks telkens uit elkaar wordt getrokken als er een scheidingsteken in de tekenreeks voorkomt.
  • Vergelijk: Dit laatste argument is ook een optioneel argument. Compare is een vergelijkingsmethode die een van de twee onderstaande is:
  1. Of het is 0, wat betekent dat SPLIT een binaire vergelijking zal uitvoeren, wat betekent dat elk teken met zichzelf moet overeenkomen.
  2. Of het kan 1 zijn, wat betekent dat de SPLIT functie een tekstuele vergelijking zal doen.

Split Functie is de lastigste en meest bruikbare van alle bovenstaande substring functies. Alle andere drie substring functies gebruiken een string als invoer, terwijl Split functie maakt gebruik van een array van string.

Bijvoorbeeld als ik schrijf Split(“IK BEN EEN GOEDE BOY”) zal de string te verdelen als afzonderlijk (elk woord als afzonderlijk). Laten we nu gebruik maken van deze substrings functies in voorbeelden.

Opmerking: Om VBA te gebruiken moeten we de ontwikkelaar tab ingeschakeld van het tabblad bestand onder de sectie Opties.

Hoe SubString Functies in VBA gebruiken?

We zullen leren hoe de SubString functie in Excel te gebruiken met behulp van de VBA Code.

U kunt deze VBA SubString Excel Sjabloon hier downloaden – VBA SubString Excel Sjabloon

Voorbeeld #1

Linkse Substring Functie in VBA. Laten we de eerste substring functie in VBA gebruiken. Volg hiervoor de onderstaande stappen:

Stap 1: Ga naar het tabblad van de ontwikkelaar en klik op Visual Basic om de VB-editor te openen.

Stap 2: Voeg een nieuwe module in de Visual Basic-editor (VBE) in. Klik op het tabblad Invoegen > selecteer Module.

Stap 3: Declareer een sub-functie om te beginnen met het schrijven van de code.

Code:

Sub Sample()End Sub

Stap 4: Declareer twee strings, een om invoer van de gebruiker te ontvangen en een andere om de waarde van het resultaat op te slaan.

Code:

Sub Sample()Dim A, B As StringEnd Sub

Stap 5: neem de invoer van de gebruiker voor de invoertekenreeks met behulp van de functie invoervak.

Code:

Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub

Stap 6: sla in variabele B de waarde van de linker functie op tot en met de derde plaats.

Code:

Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)End Sub

Stap 7: Gebruik de functie Msgbox om het eindresultaat weer te geven.

Code:

Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)MsgBox BEnd Sub

Stap 8: Voer nu de bovenstaande code uit door op de F5-toets te drukken. en schrijf invoer String als ANAND.

Stap 9: Wanneer we op OK drukken zien we het resultaat van de linker substring functie.

ANA is de drie tekens links van de string.

Voorbeeld #2

RECHTER Substring functie in VBA. Volg hiervoor de onderstaande stappen:

Stap 1: declareer in dezelfde module een andere subfunctie om te beginnen met het schrijven van de code voor de rechter substring-functie.

Code:

Sub Rightsub()End Sub

Stap 2: declareer twee variabelen A en B als string.

Code:

Sub Rightsub()Dim A, B As StringEnd Sub

Stap 3: neem de invoer van de gebruiker en sla de waarde op in variabele A.

Code:

Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub

Stap 4: gebruik de functie Recht op de tekenreeks naar de derde plaats en sla de waarde op in variabele B.

Code:

Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)End Sub

Step 5: Gebruik de functie Msgbox om de waarde van B weer te geven.

Code:

Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)MsgBox BEnd Sub

Step 6: Voer de code uit en voer de invoertekenreeks in als “MOEDER”.

Stap 7: Druk op OK om het resultaat te zien.

HER is de drie tekens rechts van de tekenreeks.

Example #3

MID Substring Functie in VBA. Volg hiervoor de onderstaande stappen:

Stap 1: declareer in dezelfde module een andere subfunctie om te beginnen met het schrijven van de code voor de Mid-functie.

Code:

Sub MIDsub()End Sub

Stap 2: declareer twee variabelen A en B als String.

Code:

Sub MIDsub()Dim A, B As StringEnd Sub

Stap 3: neem invoer van de gebruiker en sla de waarde op in variabele A.

Code:

Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub

Stap 4: gebruik de functie Mid met beginpositie als 4 en lengte als 3 slaat de waarde op in B en geeft deze weer met de functie Msgbox.

Code:

Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Mid(A, 4, 3)MsgBox BEnd Sub

Step 5: Voer de bovenstaande code uit en geef COMPUTER als invoer.

Step 6: Druk op OK om het eindresultaat te zien.

De substring PUT begint op de 4e positie en we hebben met succes drie tekens geëxtraheerd.

Example #4

VBA Split SubString Functie. Volg hiervoor de onderstaande stappen:

Stap 1: declareer in dezelfde module een subfunctie om te beginnen met het schrijven van de code voor de subfunctie.

Code:

Sub SplitSub()End Sub

Stap 2: declareer twee variabelen A als string en B als String array en neem de invoertekenreeks van de gebruiker en sla deze op in variabele A.

Code:

Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")End Sub

Step 3: gebruik de functie Split SubString en sla de waarde op in variabele B.

Code:

Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")End Sub

Step 4: gebruik de lus For om elke SubString op één regel weer te geven.

Code:

Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")For i = LBound(B) To UBound(B)strg = strg & vbNewLine & "String Number " & i & " - " & B(i)Next iMsgBox strgEnd Sub

Stap 5 Voer de bovenstaande code uit en geef I,AM,GOOD,BOY als invoer.

Stap 6: Druk op OK om het resultaat te zien.

We hebben in bovenstaand voorbeeld “,” als scheidingsteken gebruikt.

Conclusie

Net als de werkbladsubringfuncties heeft VBA ook substringfuncties. Het zijn Links Rechts Midden en Splitsen Functies. In principe verdelen Substring functies een string of een array van strings in meerdere substrings. Als we een substring van links van de tekenreeks willen, gebruiken we de functie Links, of rechts in het omgekeerde geval. Als we een middelste teken van een gegeven string willen, gebruiken we de MID functies. Ook als we een array van strings hebben, gebruiken we split functies.

Dingen om te onthouden

Er zijn een paar dingen die we moeten onthouden over Substring functies in VBA:

  • Het is vergelijkbaar met werkblad substring functies.
  • Substring functies verdelen een gegeven string in substrings.
  • Als we een array van strings hebben, gebruiken we split functies.
  • Alleen de input string in split functie is verplicht, terwijl de anderen optioneel zijn.

Aanbevolen artikelen

Dit is een gids voor de VBA SubString. Hier bespreken we hoe je de SubString functie te gebruiken in Excel VBA samen met praktische voorbeelden en downloadbare Excel template. U kunt ook gaan door onze andere voorgestelde artikelen –

  1. VBA SendKeys
  2. VBA On Error Goto
  3. VBA Input
  4. VBA LBound
0 Aandelen

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.