Avatar billede Klaus123 Mester
03. februar 2015 - 21:24 Der er 3 kommentarer og
1 løsning

VBA - Dele Tekststreng i to

Hej

Jeg har lavet en userform med en tekstboks som giver mig variablen Emne.

Variablen Emne er en tekst med vilkårlig længde.

Jeg vil gerne have delt teksten op i to variable således

Emne_delEt = kode 'Teksten deles ved et mellemrum således teksten er så lang som mulig men under 45 karakterer

Emne_delTo = kode 'Den sidste del af teksten ligges i variablen. Hvis teksten er over 45 karakterer kommer en fejlmeddelelse op.

Fejlmeddelelsen må gerne komme op ligeså snart kriteriet er overskredet hvis det er muligt.
Avatar billede jens48 Ekspert
03. februar 2015 - 22:45 #1
Jeg har lavet en makro som deler en tekst i celle D1 op i to dele i D2 og D3. Det skulle ikke være svært at rette den til. så den passer til dit ønske.

Sub Macro2()
Dim Emne, Emne1, Emne2 As String
Emne = Cells(1, 4)
For x = 45 To 1 Step -1
If Mid(Emne, x, 1) = " " Then
Emne1 = Left(Emne, x - 1)
Emne2 = Mid(Emne, x + 1, 999)
GoTo A:
End If
Next
A:
Cells(2, 4) = Emne1
Cells(3, 4) = Emne2
End Sub
Avatar billede excelent Ekspert
03. februar 2015 - 23:24 #2
Private Sub TextBox1_Change()
Emne = Me.TextBox1
længde = Len(Emne)
xPos = InStrRev(Left(Emne, 45), " ")
delEt = Trim(Left(Emne, xPos))
delTo = Trim(Right(Emne, længde - xPos))
If Len(delTo) > 45 Then MsgBox "delTo er " & Len(delTo)
End Sub
Avatar billede Klaus123 Mester
09. februar 2015 - 09:29 #3
Hej

Jeg benyttede macroen fra Exelent. Vil du lægge et svar.

Venlig hilsen

Klaus
Avatar billede excelent Ekspert
03. marts 2015 - 20:30 #4
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester