Print side | Luk vindue

Problem med at få 2 decimaler

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=1297
Udskrevet den: 20.Maj.2024 kl. 16:40


Emne: Problem med at få 2 decimaler
Besked fra: Jonas
Emne: Problem med at få 2 decimaler
Posteringsdato: 04.Jul.2013 kl. 09:17
Hej

Håber der er en, der kan hjælpe mig med nedenstående problemstilling.

Har nogle tal som jeg skal have indlæst i mit bogføringsprogram.
For at programmet kan læse tallene skal de være uden punktum som tusindadskiller men med punktum som decimaladskiller i stedet for komma.

Det er let nok at få punktum til at erstatte komma og tallene står også med 2 decimaler på nær de steder hvor decimalerne slutter på en hel 10'er.

Altså 18674,80 bliver til 18674.8

Dette giver problemer når jeg indlæser da mit bogføringsprogram opfatter 18674.8 som 1867.4 hvilket jo giver en større difference.

Har lavet en formel hvor jeg bare skriver =I28&0 så tallet bliver korrekt. Dette giver dog også problemer. For når jeg næste gang indlæser er det ikke sikkert der er problemer med tallet i celle I28

F.eks. kan tallet næste gang være 15700.51 og kommer der et ekstra 0 herpå står der nu 15700.510 og det læser mit bogføringsprogram som 157.005.1 og så går det helt galt.

Så det jeg leder efter er noget der kan finde de celler der kun har et decimal efter punktum og her tilføje et 0 de øvrige celler skal den ikke gøre noget ved.

De tal der skal kontrolleres og rettes (såfremt de mangler et 0) står i kolonne I1:I100 i mit ark

Anvender Excel 2010



Svar:
Besked fra: excelent
Posteringsdato: 07.Jul.2013 kl. 10:05
Marker dine tal og kør makro
De formaterede tal indsættes i kolonne J som tekst
Komma er normal decimalseperator med mindre du ændrer dette i win opsætn.
Sub tst()
For Each c In Selection
x = Format(c, "##0.00") ' Gennemtving korrekt format
x = Replace(x, ",", ".") ' Udskift komma med punktum
c.Offset(0, 1).NumberFormat = "@" ' Kolonne J sættes til Tekst-format
c.Offset(0, 1) = x ' Indsæt formateret tal i arket
Next
End Sub


-------------
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!


Besked fra: Jonas
Posteringsdato: 08.Jul.2013 kl. 08:34
Kanon! Det virker bare helt perfekt.

Takker!



Print side | Luk vindue