12. januar 2010 - 13:23Der er
6 kommentarer og 1 løsning
Opsplitning af én kolonne til flere i Excel
Hejsa,
Jeg har en kolonne der indeholder lange tekst strenge. Denne kolonne vil jeg gerne have splittet op i flere kolonner på f.eks. 70 tegn.
Så det jeg er ude efter, er en macro/funktion der kan finde det sidste mellemrum før tegn 70 og flytte denne substreng til f.eks kolonne B. Den resterende streng skal derefter igen udsøges for sidste mellemrum før tegn 70 og substrengen flyttes til kolonne C. Dette skal fortsætte til den oprindelige streng er tom.
Er der nogen der har en idé til hvordan dette gøres?
While Len(tekstA) > maxTegn For ix = maxTegn To 1 Step -1 If Mid(tekstA, ix, 1) = " " Then tekstDel = Left(tekstA, ix) Cells(ræk, kolNr) = tekstDel tekstA = Mid(tekstA, ix + 1) kolNr = kolNr + 1 Exit For End If Next ix Wend Next ræk
Sub DelOp() kol = 1 rk = Cells(65500, 1).End(xlUp).Row For t = 1 To rk x = Cells(t, 1) While x <> "" kol = kol + 1 stk = InStrRev(Left(x, 70), " ", -1, vbTextCompare) If stk = 0 Or Len(x) < 70 Then y = Left(x, 70) Else y = Left(x, stk) x = Replace(x, y, "") Cells(t, kol) = y Wend kol = 1 Next End Sub
While Len(tekstA) > maxTegn For ix = maxTegn To 1 Step -1 If Mid(tekstA, ix, 1) = " " Then tekstDel = Left(tekstA, ix) Cells(ræk, kolNr) = tekstDel tekstA = Mid(tekstA, ix + 1) kolNr = kolNr + 1 Exit For End If Next ix Wend
If Len(tekstA) > 0 Then Cells(ræk, kolNr) = tekstA End If Next ræk
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.