Avatar billede sasso Novice
30. maj 2007 - 20:34 Der er 11 kommentarer og
1 løsning

Komma OG punktum som decimaladskiller

Jeg arbejder med et regneark, som mange skal kunne bruge inden for kort tid og har brug for, at Excel både accepterer komma o punktum som decimaladskiller.

Er der en ekspert, der kan hjælpe med, hvordan man fikser den?
Avatar billede koppelgaard Praktikant
30. maj 2007 - 20:53 #1
Er der tale om at importere tekstfiler?
Avatar billede koppelgaard Praktikant
30. maj 2007 - 20:54 #2
Hvis der tilfældet skal du bare ved import i dataadskillere  sætte kryds i andet-feltet og angive punktum og sætte kryds i kommafeltet
Avatar billede sasso Novice
30. maj 2007 - 22:36 #3
Nej, det er det ikke. Computeren med regnearket står og modtager input fra mange forskellige i løbet af en dag. (Nogle bruger punktum som decimaladskiller, og det er næppe realistisk at forvente, at alle kan opdrages til at bruge komma konsekvent. Derfor dette spørgsmål.
Data hentes efterfølgende over i en server, hvor de sorteres og danner grundlag for beslutninger. Det siger sig selv, at punktum-adskilte tal ikke længere er tal og derfor ikke indgår i sorteringen. Det, jeg håber på, er at slippe for den manuelle fejlsøgning i flere hundrede input i løbet af en dag.
Avatar billede koppelgaard Praktikant
30. maj 2007 - 22:39 #4
Har du ikke et eksempelark ?

Min min mail er m.koppelgaard@gmail.com
Avatar billede knirkeline Nybegynder
31. maj 2007 - 08:09 #5
Kan du ikke bare benytte søg/erstat til at erstatte punktum med komma, inden du arbejder videre med data?
Avatar billede sasso Novice
31. maj 2007 - 08:31 #6
Jo, som udgangspunkt kan man selvfølgelig godt, men af sikkerhedshensyn kan man kun opdatere data på de fire decentrale maskiner - ikke på serveren. (De opdaterer også hvert femte minut, så det vil ikke hjælpe meget at rette det hele centralt.) Jeg ville gerne undgå at gå ud til hver maskine for at lave søg/erstat på dem hver især, hvis det kan undgås.
Avatar billede koppelgaard Praktikant
01. juni 2007 - 07:36 #7
De regneark, der indtastes i er det ikke et, som du er ophavsmand til  ?
Hvis det er det, kunne en makro  indbygget i dette regneark sikkert stille separationstegn for maskinen til punktum(eller komma).
Hvad mener du?

Michael
Avatar billede sasso Novice
01. juni 2007 - 07:49 #8
Det vil jeg tro, men jeg kan desværre ikkke selv lave sådan en makro. Sådan en er bestemt 200 point værd, hvis nogen er i stand til at ordne den sag... :o)
Avatar billede koppelgaard Praktikant
01. juni 2007 - 20:19 #9
Det må der være et svar på.

Kabbak, Excel-eksperten, det er en for dig.

Sasso, hvis kabbak (eller en anden) ikke svarer, skal jeg nok prøve, at finde ud af om det kan klares.

Michael
Avatar billede koppelgaard Praktikant
01. juni 2007 - 20:56 #10
Hurra hvad jeg fandt:

Sub ChangeSystemSeparators()

    Range("A1").Formula = "1,234,567.89"
    MsgBox "The system separators will now change."

    ' Define separators and apply.
    Application.DecimalSeparator = "-"
    Application.ThousandsSeparator = "-"
    Application.UseSystemSeparators = False

End Sub

Koden :

Private Sub Workbook_Open()

    Application.DecimalSeparator = "."
    Application.ThousandsSeparator = ","
    Application.UseSystemSeparators = False
end sub

skal lægges ind under fanen ThisWorkbook som du finder fra vba. Sender eksempelark

Michael
Avatar billede koppelgaard Praktikant
02. juni 2007 - 09:22 #11
Ved nærmere eftertanke er følgende kode nok bedre.
Er det ikke sådan at maskinernen som du omtaler i din mail, er stillet som de skal med korrekt separator ?
Og at brugerne alligevel nogle gange indtaster forkert decimaladskiller.
Denne kode giver en besked, hvis der indtastes tal med forkert separator.
Læg den under ThisWorkbook.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    indtastning = Target
   
    If IsNumeric(indtastning) Then
        sep = Application.International(xlDecimalSeparator)
        If sep = "," Then
            sepStr = "komma"
        Else
            sepStr = "punktum"
        End If
       
        If Not indtastning Like "*" & sep & "*" Then
            MsgBox "Husk at bruge " + sepStr + ", når du taster tal", vbCritical
        End If
    End If
End Sub
Avatar billede sasso Novice
03. juni 2007 - 14:16 #12
Det er jo forrygende. Selv en VB-mongol som mig, der aldrig har været inde i programmet før, kan få det til at fungere. :o) Tak for det.

Kun lige et enkelt spørgsmål: Den kodeændring, der kan få arket til at rette indtastningen samtidig med, at den advarer- er det let? Dét kunne være fedt.

Thanx
Sasso
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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