10. juli 2018 - 09:47Der er
6 kommentarer og 1 løsning
VBA for "Tekst til kolonner", gældende markeret område.
Jeg har brug for at man i et ark kan markere en række data i et vilkårligt område, hvorefter en makro kan køre "Tekst til kolonner" funktionen for det markeret område, og indsætte værdierne fra det område og efterfølgende kolonner.
Jeg har pr. skrevet nedenstående VBA Selection.TextToColumns Destination:=Range("S5"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 4), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 2), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1)), _ TrailingMinusNumbers:=True End Sub
[b]Mit problem er bare at den altid indsætter dataen fra celle S5 og ned. Hvor hvis jeg f.eks. havde markeret W5 til W25, skulle den have indsat det i W5 i stedet. Hvordan får jeg den til at vælge den rigtige celle?[/b}
Nej det er ikke den funktion jeg leder after, funktionen hedder "Tekst til kolonner", min udfordring er bare at jeg ønsker at lave en VBA i stedet der gør det samme, så så kan bruges på forskellige placeringer i dokumentet.
Den data jeg har i en kolonne er altid delt med koma, og kunne se ud som nedenstående: Celle W5 = "Dato","Bilagsnr.","Medarb.- nr.",... Celle W6 = "Dato","Bilagsnr.","Medarb.- nr.",... Celle W7 = "Dato","Bilagsnr.","Medarb.- nr.",... Celle W8 = "Dato","Bilagsnr.","Medarb.- nr.",... Celle W9 = "Dato","Bilagsnr.","Medarb.- nr.",...
Hvad jeg har brug for er, hvad jeg i min VBA skal skrive efter "Destination", for at den kan vælge den aktuelt markeret destination i stedet for altid "S5". Altså har jeg f.eks. markeret data i cellerne W5 til W9, så skal den indsætte værdierne fra celle "W5" i stedet for "S5".
Syntes ikke lige at kunne se mig frem til løsningen. Jeg er stadig begynder i VBA programmering, så hvordan vil koden umiddelbart se ud med dit forslag?
Jeg takker for dit svar, det var lige det jeg ledte efter.
Dog valgte jeg blot at skrive "ActiveCell.Address" i min formel, i stedet for først at definere "Startcelle = ActiveCell.Address" for så at bruge "Startcelle" i min formel.
Ja, det er fint - jeg har blot lært at der er en uskik ikke at have variabler og definere dem - men for os amatør programmører gør det nok ikke alverden.
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.