Vi har allerede gått igjennom en introduksjon til strengfunksjoner i vår VBA Strings and Substrings Functions -opplæring. Vi skal nå se på hvordan vi kan sammenkoble tekststrenger.
Sammenkoblede strenger
Du kan bruke & -operatoren i VBA til å bli med tekststrenger.
1 | MsgBox "Slå sammen" og "Tekst" |
Sammenkoble celler
Du kan også sammenkoble celler sammen. Nedenfor har vi tekststrengene i A1 og B1:
Følgende kode viser deg hvordan du kobler tekststrenger fra celle A1 og B1 ved hjelp av & -operatoren, i celle C1:
1 | Område ("C1"). Verdi = Område ("A1"). Verdi og område ("B1"). Verdi |
Resultatet er:
Sammenkoble variabler
Dette er hele prosedyren for å sammenkoble to celler sammen ved hjelp av strengvariabler.
1234567891011 | Sub ConcatenateStrings ()Dim StringEn som strengDim streng to som strengStringOne = Område ("A1"). VerdiStringTwo = Range ("B1"). VerdiOmråde ("C1"). Verdi = StringOne & StringTwoSlutt Sub |
Bruke & Operator with Spaces
Når du vil inkludere mellomrom du bruker og i forbindelse med ”“. Følgende kode viser deg hvordan du vil inkludere mellomrom:
123456789101112 | Sub ConcatenatingStringsWithSpaces ()Dim StringOne As StringDim StringTwo As StringDim StringThree As StringStringOne = "Dette er"StringTwo = "teksten"StringThree = StringOne & "" & StringTwoMsgBox StringThreeSlutt Sub |
MessageBox -resultatet er:
Bruk & operatøren til å sammenkoble et anførselstegn
La oss si at tekststrengen din inneholder et anførselstegn, følgende kode viser deg hvordan du inkluderer et anførselstegn i en tekststreng:
12345678910111213 | Sub ConcatenatingAQuotationMark ()Dim StringOne As StringDim streng to som strengDim StringThree As StringStringOne = "Dette er anførselstegnet"StringTwo = "" "" "StringThree = StringOne & "" & StringTwoMsgBox StringThreeSlutt Sub |
Resultatet er:
Sette strenger på en ny linje
La oss si at du har fem tekststrenger. Du kan sette hver tekststreng på en ny linje eller et avsnitt, enten ved hjelp av vbNewLine, vbCrLf, vbCr eller Chr -funksjonen. Følgende kode viser deg hvordan du setter hver tekststreng på en ny linje:
123456789101112131415161718 | Sub PuttingEachTextStringOnANewLine ()Dim StringOne As StringDim StringTwo As StringDim StringThree As StringDim StringFour As StringDim StringFive As StringStringOne = "Dette er den første strengen"StringTwo = "Dette er den andre strengen"StringThree = "Dette er den tredje strengen"StringFour = "Dette er den fjerde strengen"StringFive = "Dette er den femte strengen"MsgBox StringOne & vbNyLine & StringTo & vbCrLf & StringThree & vbCr & StringFour & Chr (13) & StringFiveSlutt Sub |
Resultatet er: