Ja de virker jo begge måder. Men problemet er, at jeg har 100 af disse, derfor skal de helst kunne laves på én gang :( Efter at have testet tekst til kolonner, synes jeg det ser ud som om det ikke kan lade sig gøre?
Indsæt denne formel i B1 og kopier ned =UDSKIFT(A1;TEGN(10);";") Marker kolonne B og kopier. Vælg indsæt, speciel, værdier (under menuen rediger) i kolonne C Marker kolonne C og Herefter tekst til kolonner, semikolon sepereret.
Sub dele() Dim i, txt, txt2, rk, rw For rk = 1 To 100 txt = ActiveCell.Value: ActiveCell.Offset(0, 1).Activate For i = 1 To Len(txt) If Mid(txt, i, 1) = Chr(10) Then ActiveCell.Offset(0, 1).Activate: txt2 = "": GoTo om txt2 = txt2 & Mid(txt, i, 1) ActiveCell.Value = txt2 om: Columns.AutoFit: Rows.AutoFit ActiveCell.WrapText = False Next ActiveCell.Offset(1, 0).Select ActiveCell.End(xlToLeft).Activate Next End Sub
Sub dele() Dim i, txt, txt2, rk Application.ScreenUpdating = False For rk = 1 To 100 txt = ActiveCell.Value: ActiveCell.Offset(0, 1).Activate For i = 1 To Len(txt) If Mid(txt, i, 1) = Chr(10) Then ActiveCell.Offset(0, 1).Activate: txt2 = "": GoTo om txt2 = txt2 & Mid(txt, i, 1) ActiveCell.Value = txt2 om: ActiveCell.WrapText = False Columns.AutoFit: Rows.AutoFit Next ActiveCell.Offset(1, 0).Select ActiveCell.End(xlToLeft).Activate txt2 = "" Next Application.ScreenUpdating = True [a1].Activate End Sub
Sub dele() Dim i, txt, txt2, rk, kol Application.ScreenUpdating = False kol = ActiveCell.Column For rk = 1 To 100 txt = ActiveCell.Value: ActiveCell.Offset(0, 1).Activate For i = 1 To Len(txt) If Mid(txt, i, 1) = Chr(10) Then ActiveCell.Offset(0, 1).Activate: txt2 = "": GoTo om txt2 = txt2 & Mid(txt, i, 1) ActiveCell.Value = txt2 om: ActiveCell.WrapText = False Columns.AutoFit: Rows.AutoFit Next ActiveCell.End(xlToLeft).Activate ActiveCell.Offset(1, 0).Select txt2 = "" Next Application.ScreenUpdating = True [a1].Activate End Sub
Ja den er godt nok noget kortere og kønnere bak :-) Jeg kan forstå at split deler strengen i 4 understrenge som herefter indlæses i rCell, men hvad sker der her: rCell(1, 2).Resize(, 4) ? Giver gerne nogen Point
Det koster gratis, mrjh rCell(1,1) er aktuel celle rCell(1,2) er cellen tilhøjre for aktuel celle Resize(,4) udvider et range 4 kolonner. Da rangen/området her er en enkelt celle (rCell(1,2)) bliver det udvidet til 4 celler som så fyldes af de 4 dele i split. Håber jeg har beskrevet det så det er til at forstå :-)
Super !! Brugte den fra Bak, den virkede præcis som den skulle :)
Står nu med et andet tema. Skal have op til 4 seperate kolonner samlet i et felt, og helst med linieskift mellem dem. Er der nogen der har et hurtigt bud, ellers opretter jeg en ny tråd.
Ja der er vist nogen det ikke er værd at ofre mere tid på :-(
Synes godt om
Ny brugerNybegynder
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.