Avatar billede denero Juniormester
03. juli 2013 - 16:09 Der er 12 kommentarer og
1 løsning

Tal formateret eller gemt som tekst

Excel 2010

  With ActiveCell
        .Value = dDate
        .Value = IndlæsNyeAflæsninger.AktuelDato
        .Offset(0, 1).Value = ActiveSheet.Name
        .Offset(0, 2).Value = "El"
        .Offset(0, 3).Value = IndlæsNyeAflæsninger.AktuelAflæsning
    End With

Ovenstående er en del af en kode jeg bruger til at indsætte data i excel ark.
Problemet er at ved:

".Offset(0, 3).Value = IndlæsNyeAflæsninger.AktuelAflæsning

indsættes tallene, som tal gemt som tekst (den lille grønne prik i cellen). Kan der kobles et eller andet på koden, så jeg får indsat tal i kolonnen formateret som tal.
Avatar billede store-morten Ekspert
03. juli 2013 - 16:32 #1
Prøv:

.Offset(0, 3).Value = Format(IndlæsNyeAflæsninger.AktuelAflæsning, "#,##0")
Avatar billede store-morten Ekspert
03. juli 2013 - 17:06 #2
Eller prøv at sætte format først:

  With ActiveCell
        .Value = dDate
        .Value = IndlæsNyeAflæsninger.AktuelDato
        .Offset(0, 1).Value = ActiveSheet.Name
        .Offset(0, 2).Value = "El"
        .Offset(0, 3).NumberFormat = "0"
        .Offset(0, 3).Value = IndlæsNyeAflæsninger.AktuelAflæsning
    End With
Avatar billede denero Juniormester
03. juli 2013 - 22:50 #3
Ingen af forslagene virker, desværre.
Avatar billede denero Juniormester
03. juli 2013 - 22:57 #4
I koden bliver 2 tekstbokse brugt til at sammenligne forskellige værdier, den ene tekstboks er den fra ovenstående kode. Der har været enkelte tilfælde, opdagede det nu, hvor resultatet af sammenligningen ikke passer. Sammenligningen går i sin enkelthed ud på, mindre end, lig med, større end. Kan det evt. skyldes formateringen af disse???
Avatar billede finb Ekspert
03. juli 2013 - 23:01 #5
er
dim
som
string ?
Avatar billede store-morten Ekspert
03. juli 2013 - 23:02 #6
Når jeg køre en simpel test, formateres cellen fint, med formatet "Tal"
Avatar billede denero Juniormester
04. juli 2013 - 08:35 #7
Hej Morten
Det er rigtigt, at tallet bliver formateret som tal, men der er stadig en fejl meddelse i cellen, hvor tallet bliver skrevet:

"Tallet i denne celle er formateret som tekst eller har en foranstillet apostrof".

Det andet problem med "sammenligningerne kan jeg evt oprette i nyt spørgsmål?

Hej Finb

Jeg forstår ikke helt dit spørgsmål. Vil du uddybe.
Avatar billede store-morten Ekspert
04. juli 2013 - 12:33 #8
"men der er stadig en fejl meddelse i cellen"

Betyder det at denne "fejl" bliver ved med at være der, eller bliver ved med at komme?

Makroen kan jo ikke fjerne denne meddelelse.
Avatar billede denero Juniormester
04. juli 2013 - 14:24 #9
Fejlen bliver ved med at komme, også selv om jeg læser ind på nye ark. Hvad med formateringen i selve tekstboksen?

Har lige forsøgt med sammenligningen igen, som jeg har nævnt, her kommer den stadig op med forkert vurdering af tallene i de 2 textbokse. Hvis du ikke har et bud eller mener, der en sammenhæng, opretter jeg dette problem et nyt spørgsmål
Avatar billede store-morten Ekspert
04. juli 2013 - 14:43 #10
Er det "Stats hemmeligheder" ?
Ellers er du velkommen til at sende på E-mail.
Det gør det som regel nemmere, unde at love noget ;-)
Avatar billede denero Juniormester
04. juli 2013 - 14:53 #11
Hej Morten
Jamen, det er det ikke,Jeg har lige et møde. Herefter sender jeg det til dig.
..Og tusind tak fordi du gider.
Avatar billede denero Juniormester
05. juli 2013 - 08:40 #12
Hej Morten

Ja, sådan gør man det. Tusind tak for hjælpen. Lægger du et svar?


Private Sub UserForm_Initialize()
   
    Dim r As Range
    With Worksheets("Stamdata")
        Set r = .Range("C2", .Range("C50").End(xlUp))
    End With

    RDMålerkode.RowSource = "Stamdata!" & r.Address
   
    'Indsætter aktuelt år/dato
    Me.AktuelDato = Format(Date, "DD/MM/YYYY")
   
    SenesteAflæsning.Text = Format(Number, "0") 'Rettet format fra 0.0000 til 0
    AktuelAflæsning.Text = Format(Number, "0")  'Rettet format fra 0.0000 til 0
    AktuelAflæsning.BackColor = vbButtonFace
    AktuelAflæsning.Enabled = False
    AktuelAflæsning.Value = ""

End Sub

Og:
Sub GemmeData()
    Application.ScreenUpdating = False 'tilføjet denne linie


With ActiveCell
    .Value = dDate
    .Value = IndlæsNyeAflæsninger.AktuelDato
    .Offset(0, 1).Value = ActiveSheet.Name
    .Offset(0, 2).Value = "El"
    .Offset(0, 3).NumberFormat = "0" 'tilføjet denne linie
    .Offset(0, 3).Value = Format(IndlæsNyeAflæsninger.AktuelAflæsning, "#0") 'Rettet formatet fra #.##0 til #0
End With


    Application.ScreenUpdating = True
   
  Application.ScreenUpdating = True 'slettet denne linie
End Sub
Avatar billede store-morten Ekspert
05. juli 2013 - 10:53 #13
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
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