Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketKonvertering til tal

 Besvar Besvar
Forfatter
stausholm Se dropdown
Forum Begynder
Forum Begynder
Avatar

Medlem: 16.Mar.2011
Land: Danmark
Status: Offline
Point: 7
Direkte link til dette indlæg Emne: Konvertering til tal
    Sendt: 20.Jul.2011 kl. 14:46
Jeg har data i et excelark som bliver skabt af et rapporteringssystem.

Arket kommer ud med punktummer istedet for kommaer og formateret forkert, så der ikke kan beregnes.

Normal ville jeg så benytte mig af søg og erstat og ( da jeg kører med 2003) multiplicering via "indsæt specielt" med 1 tastet ind i et givent felt.

søg og erstat fungerer fint, men det virker som om feltet i virkeligheden heller ikke er formateret som tekst, så det eneste der sker når jeg via "indsæt specielt" multiplicerer med 1 flyttes data nu til venstre i feltet, men kan stadig ikke benyttes til formler.

jeg vedlægger en kopi af data i arket.

Er der andre der er stødt på et lignende problem og er der nogen løsning?
Til top



Til top
stausholm Se dropdown
Forum Begynder
Forum Begynder
Avatar

Medlem: 16.Mar.2011
Land: Danmark
Status: Offline
Point: 7
Direkte link til dette indlæg Sendt: 20.Jul.2011 kl. 14:52
Til top
rassten Se dropdown
Guld bruger
Guld bruger


Medlem: 26.Okt.2010
Status: Offline
Point: 694
Direkte link til dette indlæg Sendt: 22.Jul.2011 kl. 23:45
Kolonne "B" og "C" bliver ikke opfattet som tal, da der er et mellemrum (" ") før tallet.
Hvorimod Kolonne "A" opfattes som tal.

Jeg kan kun fjerne dette mellemrum ved formel flyttet data over i nye kolonner.
Derfra kan disse værdier altid flyttes/kopieres tilbage.

uploads/107/Kopi_af_konvertering.xls
VH rassten

Arbejde excel 2010
Privat excel 2010
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 23.Jul.2011 kl. 23:30
Hej Stausholm,
 
Alternativt, kan du bruge en lille stump makro til at klare problemet.
 
Sub Stausholm()
For Each c In Selection.Cells
    If InStr(1, c, ".", vbTextCompare) > 0 Then
        c.Value = Replace(c.Value, ".", ",", 1)
    End If
    If InStr(1, c, " ", vbTextCompare) > 0 Then
        c.Value = Replace(c.Value, " ", "", 1)
    End If
    c.Value = c.Value * 1
Next c
End Sub
 
Koden erstatter et evt. punktum med komma og fjerner det lille mellemrum før tallet.
Den gør faktisk nøjagtig det samme som Rasstens formel, blot oversat til VBA.
 
//Allan
Til top
stausholm Se dropdown
Forum Begynder
Forum Begynder
Avatar

Medlem: 16.Mar.2011
Land: Danmark
Status: Offline
Point: 7
Direkte link til dette indlæg Sendt: 25.Jul.2011 kl. 11:05
Tak til jer begge. Tongue

Jeg har brugt macroløsningen, og har lagt den ind hos mine kollegaer, så de nu bare klikker deres genvej og presto kan der regnes med værdierne.

Endnu en gang tak.
Til top
stausholm Se dropdown
Forum Begynder
Forum Begynder
Avatar

Medlem: 16.Mar.2011
Land: Danmark
Status: Offline
Point: 7
Direkte link til dette indlæg Sendt: 25.Jul.2011 kl. 12:03
Løsningen med makroen fungerede fint på kommatallene, men jeg har nu set at det også drejer sig om data i tidsformat.

Målet med løsningen skulle være at ligesom kommatallene skulle tidsdata også blive validt. Det optimale ville være at tidsformatet i samme omgang blev konveret til kommatal, dvs. at f.eks. 26:41:00 skulle konverteres til 26,68.

Hvis macroløsningen ville skulle deles op i 2, ville det være helt i orden Wink

Håber I også kan hjælpe med denne.

Mvh.
Per

uploads/225/Mappe1.xls
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 27.Jul.2011 kl. 23:06
Hej Per,
 
Undskyld ventetiden, ferie du ved Wink.
 
Prøv lige denne, jeg tror den klarer din udfordring:
 
Sub Stausholm()
For Each c In Selection.Cells
    If InStr(1, c, ":", vbTextCompare) > 0 And Left(c, 1) = " " Then
            c.Value = Mid(c, 2, Len(c) - 1)
            c.Value = c.Value * 24
            c.NumberFormat = "General"
        End If
    If Left(c, 1) = " " Then
       c.Value = Mid(c, 2, Len(c) - 1)
    End If
Next c
End Sub
 
Koden ser kun cellens indhold som tid hvis cellen indeholder et kolon.
hvis ikke cellen indeholder kolon, ses cellen som et tal.
 
Virker det i din ende?
 
//Allan
Til top
stausholm Se dropdown
Forum Begynder
Forum Begynder
Avatar

Medlem: 16.Mar.2011
Land: Danmark
Status: Offline
Point: 7
Direkte link til dette indlæg Sendt: 28.Jul.2011 kl. 09:46
Jeg har ingen forventninger på levering Wink. Det er jo et åbent forum, hvor alt arbejde er frivilligt

Til gengæld er jeg superglad for at du gider kigge på det.Big smile

Desværre ser det ikke ud til at det virker i 2003. Der sker simpelthen ingenting.Cry

Bare for at være helt sikker på at vi snakker om det samme.Embarrassed

I sin nuværende form genkender Excel overhovedet ikke data, hverken som tal eller datoformat (jeg tror igen der måske er et mellemrum før selve tallet/tidsangivelsen der spøger).

Det jeg ønsker er løsning der ændrer tiden - først til et format der kan anvendes til beregninger og derefter skal den angivne tid i tidsformat, konverteres til tid i decimalformat (komma)
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 28.Jul.2011 kl. 11:17
Hej igen,
 
Det er fordi forummet 'oversætter' tegnet foran dine tal til et normalt mellemrum når jeg poster det til dig.
Det mellemrum du ser foran dine tal er nemlig ikke et helt normalt mellemrum.
Prøv lige med denne kode i stedet, hvor jeg har oversat tegnet (Som hedder Chr 160)
 
Sub Stausholm()
For Each c In Selection.Cells
    If InStr(1, c, ":", vbTextCompare) > 0 And Left(c, 1) = Chr(160) Then
            c.Value = Mid(c, 2, Len(c) - 1)
            c.Value = c.Value * 24
            c.NumberFormat = "General"
        End If
    If Left(c, 1) = Chr(160) Then
       c.Value = Mid(c, 2, Len(c) - 1)
    End If
Next c
End Sub
 
//Allan
Til top
stausholm Se dropdown
Forum Begynder
Forum Begynder
Avatar

Medlem: 16.Mar.2011
Land: Danmark
Status: Offline
Point: 7
Direkte link til dette indlæg Sendt: 28.Jul.2011 kl. 12:50
Der var den. Du er en stjerne Star.

Jeg ændrede så "General" til "##.##" , så der kun kommer 2 decimaler på (ser ud til at fungere)

Jeg bukker og skraber ydmygt. Big smile

Mvh.
Per Stausholm
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 28.Jul.2011 kl. 22:37
Velbekomme Per, tak for din tilbagemelding Smile
Du har fuldstændig ret mht. formatet, det kan du ændre som du lyster.
 
//Allan
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk