Avatar billede martin_moth Mester
26. maj 2009 - 23:47 Der er 6 kommentarer og
1 løsning

splitte string-variabel ud i flere celler i Excel via VBA

Har en string der f.eks. indeholder

"Hej      med dig      hurra    "

Den vil jeg skrive ud i cellerne

A1 = Hej
B1 = med
C1 = dig
D1 = hurra

skal nok have gang i noget split(), men hvordan gøres det allernemmest (skal puttes ind i et kæmpe loop, så vil gerne have noget kompakt kode)
Avatar billede martin_moth Mester
27. maj 2009 - 09:08 #1
løste det selv

strDummy = LTrim(RTrim(strDummy))
        While InStr(strDummy, "  ")
          strDummy = Replace(strDummy, "  ", " ")
        Wend
        For k = LBound(Split(strDummy, " ")) To UBound(Split(strDummy, " "))
          Sheets(strTabname).Cells(j, k + 1).Value = Split(strDummy, " ")(k)
        Next k
Avatar billede martin_moth Mester
27. maj 2009 - 09:29 #2
lukker
Avatar billede nephilim Nybegynder
27. maj 2009 - 10:13 #3
Lige en kommentar:

Du kan bruge Trim til både at LTrim og RTrim, og Trim$ er lidt hurtigere hvis du ved det er en string.
Avatar billede martin_moth Mester
27. maj 2009 - 10:57 #4
men trim fjerner vel også mellemrummene inde mellem ordene, ikke? Så duer det jo ikke - skal kun fjerne mellemrum før første bogstav og efter sidste bogstav
Avatar billede nephilim Nybegynder
27. maj 2009 - 11:10 #5
trim fjerner kun udenfor selve den string du er igang med, så ikke de mellemliggende
Avatar billede nephilim Nybegynder
27. maj 2009 - 11:11 #6
og Trim prøver på at konvertere dit argument til en string, hvor Trim$ springer det trin over. Ikke at det er den store optimering, alt efter hvor mange gange du skal trimme altså.
Avatar billede martin_moth Mester
28. maj 2009 - 09:44 #7
super - tak for tippene
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
Kategori
Kurser inden for grundlæggende programmering

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