05. april 2009 - 11:12Der er
21 kommentarer og 1 løsning
Konverter komma til punktum i hel kolonne
Jeg har en kolonne med tal som jeg eksporterer til en anden fil. Inden jeg gør det skal jeg have ændret seperatorerne i tallene.
Der skal IKKE være tusindtalsseperator og der skal være Punktum som seperator for ørene.
Jeg har prøvet med denne makro, som jeg har optaget, men den virker ikke efter hensigten
Sub Makro3() Columns("L:L").Select Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub
Jo, det mærkelige er at det virker fint når jeg bruger find og erstat, men når jeg så laver/optager en makro der skal gøre det automatisk for mig, så virker det ikke.
Kan denne bruges hvis du rediger lidt i den . Det er ikke mig selv der har lavet den, og det er til 2007
Sub erstat() Dim DataInput, DataOutput DataInput = InputBox("Skriv det der skal søges efter i cellerne: Husk der skelnes mel store og små bogstaver") If DataInput = "" Then Exit Sub DataOutput = InputBox("Skriv den tekst som cellerne skal erstattes med: ") For Each c In Selection If InStr(1, c.Value, DataInput) Then c.Value = DataOutput Next End Sub
Det er tilsyneladende fordi at vi bruger punktum som tusindtalsseperator. Hvis du prøver med al mulig anden tekst virker makroen upåklageligt. Jeg ved ikke om du via kode kan ændre på lokaliseringsinstillingerne, for så var det jo en mulighed.
Det virker desværre ikke hos mig. Den ændrer ikke noget.. Hvis jeg har feks har sat et A ind efter tallet virker det, derimod.
Jeg er derfor kommet til at tænke på en løsning, som måske vil virke. Den er ikke køn, men hvis den virker, så er jeg glad :-)
1: Man indsætter f.eks. et "A" efter alle tallene i kolonne L 2: Erstatter , med . som den gerne vil med tekst 3: Fjerne "A" igen, så det bliver et tal
Jeg har prøvet med noget i denne retning, uden at jeg dog kan få det til at virke.
Måske kunne I klare den?
Sub makro3333() For Each Cell In Range("L2:L100") If Cell <> "" Then Cell = Cell & "A" Else End If Next
Columns("L:L").Select Selection.NumberFormat = "@" Selection.Replace What:=",", Replacement:="." End Sub
Da jeg selv lige har haft problemet, med ikke forstod den valgte løsning, smider jeg lige min løsning. til fremtidig brug :-)
ActiveSheet.Range("F:F,J:J").Select ' ændre ,tal til . Selection.NumberFormat = "@" ' ændre til tekst For Each c In Selection If c.Value <> "" Then c.Value = Replace(c.Value, ",", ".") Next
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.