Avatar billede nordclc Nybegynder
12. juli 2001 - 10:14 Der er 7 kommentarer og
1 løsning

Tusindstals seperator og komma

Ved copy/paster fra et andet program til Excel, så har jeg komma som tusindtalsseperator og punktum som komma (da det andet program er amerikans). Hvordan ændre jeg det i Excel, så den bytter om til dansk standard?

//Claus
Avatar billede lsimony Nybegynder
12. juli 2001 - 10:29 #1
HejClaus

Hvis du vil undgå VB, så kan du bruge denne formel:

=VALUE(SUBSTITUTE(SUBSTITUTE(tal;\",\";\"\");\".\";\",\"))

hvor tal er det tal du vil have ændret fx.

1,000.00 formlen vil så ændre tallet til 1000,00
Du kan så formatter cellen så den viser 1000 seperator, hvis du gerne vil have det med.

Hilsen

Lars Simonÿ
Avatar billede nordclc Nybegynder
12. juli 2001 - 10:32 #2
>Isimony, der er ca. 5000 linier, kan jeg gøre det af en omgang - beklager jeg er novice i Excel?
Avatar billede lsimony Nybegynder
12. juli 2001 - 11:44 #3
Du kan indsætte denne macro i dit regneark. Den vil kunne omskrive alle dine tal i en kolonne.

Hilsen

Lars Simonÿ

Sub UStoDK()
    \' Pre : none
    \' Post: Omskriver us tal om til dk tal med tusindseperator
   
    Dim talUS As String
    Dim talDK As Double
    Dim kolonne As Integer
    Dim raekker As Integer
    Dim maxRaekker As Integer
       
    kolonne = 1        \' Hvilken kolonne 1 = A
    maxRaekker = 5000  \' Antal rækker med tal
   
    For raekke = 1 To maxRaekker
        talUS = ActiveSheet.Cells(raekke, kolonne)
        If Not talUS = \"\" Then
            talUS = Replace(talUS, \",\", \"\")
            talDK = Replace(talUS, \".\", \",\")
            ActiveSheet.Cells(raekke, kolonne) = talDK
        End If
    Next raekke
End Sub


Avatar billede lsimony Nybegynder
12. juli 2001 - 11:50 #4
Du kan bruge denne, hvis det er flere kolonner...

Sub UStoDK()
    \' Pre : none
    \' Post: Omskriver us tal om til dk tal med tusindseperator
   
    Dim talUS As String
    Dim talDK As Double
    Dim kolonne As Integer
    Dim raekker As Integer
    Dim maxRaekker As Integer
    Dim maxKolonne As Integer
       
    startKolonne = 1        \' Den første kolonne 1 = A
    maxRaekker = 5000  \' Antal rækker med tal
    startRaekke = 1        \' Den første række 1=1
    maxKolonne = 256  \' Den sidste kolonne

    For raekke = startRaekke To maxRaekker
      For kolonne = startKolonne to maxKolonne
        talUS = ActiveSheet.Cells(raekke, kolonne)
        If Not talUS = \"\" Then
            talUS = Replace(talUS, \",\", \"\")
            talDK = Replace(talUS, \".\", \",\")
            ActiveSheet.Cells(raekke, kolonne) = talDK
        End If
      nexc kolonne
    Next raekke
End Sub
Avatar billede nordclc Nybegynder
12. juli 2001 - 11:54 #5
3. sidste linie skal være next kolonne - ikke?
Hjææææælp, den går i uendelig loop?
Avatar billede lsimony Nybegynder
12. juli 2001 - 12:37 #6
Jo. Du må undskylde stavefejlen ;-)
Avatar billede lsimony Nybegynder
12. juli 2001 - 12:44 #7
Den går ikke i uendelig loop. Det tager tid at gå 5000 x 256 celler igennem. Du skal bare ændre maxKolonne til det antal kolonner du skal have ændret. Det samme gælder med maxRaekker.
Avatar billede nordclc Nybegynder
12. juli 2001 - 13:54 #8
Jubiiiii, så er det fikset, med endnu en workaround. Tak for hjælpen. //Claus
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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