We hebben al een inleiding tot stringfuncties besproken in onze VBA Strings and Substrings Functions-tutorial. We gaan nu kijken hoe u tekstreeksen kunt samenvoegen.
Strings samenvoegen
U kunt de operator & in VBA gebruiken om tekstreeksen samen te voegen.
1 | MsgBox "Samenvoegen" & "Tekst" |
Cellen aaneenschakelen
U kunt cellen ook samenvoegen. Hieronder hebben we de tekststrings in A1 en B1:
De volgende code laat zien hoe u tekenreeksen uit cel A1 en B1 samenvoegt met de operator & in cel C1:
1 | Bereik ("C1"). Waarde = Bereik ("A1"). Waarde & Bereik ("B1"). waarde |
Het resultaat is:
Variabelen samenvoegen
Dit is de volledige procedure om twee cellen samen te voegen met behulp van tekenreeksvariabelen.
1234567891011 | Sub ConcatenateStrings()Dim StringOne als StringDim StringTwo als StringStringOne = Bereik ("A1"). WaardeStringTwo = Bereik ("B1"). WaardeBereik ("C1"). Waarde = StringOne & StringTwoEinde sub |
De operator & gebruiken met spaties
Als u spaties wilt opnemen, gebruikt u & in combinatie met " ". De volgende code laat zien hoe u spaties zou opnemen:
123456789101112 | Sub SamenvoegenStringsWithSpaces()Dim StringOne As StringDim StringTwo As StringDim StringThree As StringStringOne = "Dit is"StringTwo = "de tekst"StringThree = StringOne & " " & StringTwoMsgBox StringThreeEinde sub |
Het MessageBox-resultaat is:
De operator & gebruiken om een aanhalingsteken samen te voegen
Stel dat uw tekenreeks een aanhalingsteken bevat, de volgende code laat u zien hoe u een aanhalingsteken in een tekenreeks opneemt:
12345678910111213 | Sub SamenvoegenAQuotationMark()Dim StringOne As StringDim StringTwo As StringDim StringThree As StringStringOne = "Dit is het aanhalingsteken"StringTwo = """"StringThree = StringOne & " " & StringTwoMsgBox StringThreeEinde sub |
Het resultaat is:
Strings op een nieuwe regel zetten
Laten we zeggen dat je vijf tekststrings hebt, je kunt elke tekststring op een nieuwe regel of alinea plaatsen, met behulp van de vbNewLine, vbCrLf, vbCr of Chr Function. De volgende code laat zien hoe u elke tekenreeks op een nieuwe regel plaatst:
123456789101112131415161718 | Sub PuttingEachTextStringOnANewLine()Dim StringOne As StringDim StringTwo As StringDim StringThree As StringDim StringFour As StringDim StringFive As StringStringOne = "Dit is de eerste string"StringTwo = "Dit is de tweede string"StringThree = "Dit is de derde string"StringFour = "Dit is de vierde reeks"StringFive = "Dit is de vijfde string"MsgBox StringOne & vbNewLine & StringTwo & vbCrLf & StringThree & vbCr & StringFour & Chr(13) & StringFiveEinde sub |
Het resultaat is: