Avatar billede Gramstrup Mester
30. marts 2017 - 08:21 Der er 8 kommentarer og
3 løsninger

VBA userform

Hejsa
Jeg har en userform som skal hente data ind fra Excel ark og det fungere også fint. Men nogen af dataene er beregninger og der kommer rigtigt mange decimaler med. Jeg vil gerne formatere dem så der kun er 2 decimaler med.

Den laver også komma om til punktum. Det vil jeg gerne ændre til Komma.

Jeg har lavet nedenstående kode line til at hente dataene ind. Men hvordan formatere jeg dem?


Private Sub UserForm_Activate()
Sheets("PÆ skema").Select
KostÆnd.Caption = Range("o2").Value
ForSalg.Value = Range("r2")
ÆndUge.Value = Range("l2")
GLdg.Caption = Range("Q2").Value
NyDg.Caption = Range("s2").Value
VareNavn.Caption = Range("B2").Value
End Sub
Avatar billede Gramstrup Mester
30. marts 2017 - 09:07 #2
Jeg kan desværre ikke få det til at virke...
Avatar billede Jan Hansen Ekspert
30. marts 2017 - 10:05 #3
Option Explicit
Dim ws As Worksheet

Private Sub UserForm_Activate()
Set ws = Sheets("PÆ skema") 'ws er dit ark

KostÆnd.Caption = ws.Range("o2").Value
ForSalg.Value = Round(ws.Range("r2").value,2)
ÆndUge.Value = ws.Range("l2").value
GLdg.Caption = ws.Range("Q2").Value
NyDg.Caption = .ws.Range("s2").Value
VareNavn.Caption = ws.Range("B2").Value
End Sub

prøv ovenstående

mvh Jan
Avatar billede Gramstrup Mester
30. marts 2017 - 10:18 #4
Det virker ikke rigtigt for mig. Jeg får resultatet som du kan se på dette her link:

http://herborjeg.dk/Ny%20mappe%20(2)/Udklip.JPG

Der er mange decimaler på og det ene sted er det punktum frem for komma.
Avatar billede Jan Hansen Ekspert
30. marts 2017 - 12:20 #5
Prøv at sætte


=Round(ws.Range("r2").value,2)

hvor du erstatter r2 med cellen du henter fra

eks:
KostÆnd.Caption = Round(ws.Range("o2").Value,2)

kunne ikke se hvilke controls der var tal i
Avatar billede store-morten Ekspert
30. marts 2017 - 12:34 #6
Måske:

Format(Range("o2"), "#,##0")
Avatar billede Gramstrup Mester
30. marts 2017 - 15:45 #7
Dog viser den stadig anbefalet salgspris med Punktum istedet for komma men det kan jeg godt leve med.
Man det var Jan Hansens løsning der virkede for mig.
Avatar billede Jan Hansen Ekspert
30. marts 2017 - 16:06 #8
anbefalet=format(Round(ws.Range("o2").Value,2),"#,##")

virker måske

mvh Jan
Avatar billede store-morten Ekspert
30. marts 2017 - 17:01 #9
Prøv:

KostÆnd.Caption = Format(Range("o2"), "#,##0.00")

#,## -->Formater med , (komma)
0.00 --> Formater med 2 decimaler
Avatar billede Gramstrup Mester
30. marts 2017 - 17:06 #10
Så virker det med Store-morten løsning... På komma delen... Takker mange gange..
Avatar billede store-morten Ekspert
30. marts 2017 - 17:14 #11
Velbekomme
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

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