Avatar billede mira96ac Novice
05. december 2007 - 21:08 Der er 19 kommentarer og
1 løsning

Celle formatteret som tekst+vba

Jeg har en userform hvor brugeren skal indtaste sine arbejdstimer.
Brugeren kan indtaste med to decimaler.

Når man trykker gem på userformen skrives værdien til en celle i mit Excelark.

På baggrund af dette Excel ark dannes en pivottabel i et andet ark.

Men når den skriver værdien til Excelarket formatterer den samtidig celleværdien til "tekst" også selvom jeg inden har markeret den celle og sagt det skal være tal.
Dvs. at min pivottael skriver værdien "0" da den ikke kan finde ud af cellen er et tal.

Hvad gør jeg ?
Avatar billede kabbak Professor
05. december 2007 - 21:11 #1
Range("A1").Value = val(din tekstboks)
Avatar billede mira96ac Novice
05. december 2007 - 21:37 #2
Det forstår jeg ikke lige.

Jeg kan ikke engang huske om du har hjulpet mig med den oprindelige funktion (chancen er stor :-)

Men hver gang jeg trykker gem på min userform finder den den første ledige linie i mit excelark og skriver værdierne på den linie osv.

Timer står i kolonne F og så dynamisk dernedaf.

Hvor skal jeg putte denne kode du skriver ?
Avatar billede kabbak Professor
05. december 2007 - 21:44 #3
Vis mig lige koden under knappen gem
Avatar billede mira96ac Novice
05. december 2007 - 21:53 #4
Jeg er lidt i tvivl om hvor meget du skal bruge:

Her er noget af det...


Private Sub f_gem_Click()
Rem test om alle felter er udfyldt
    If    Me.f_timer.Value <> "" Then
                If Me.f_gem.BackColor = grøn Then
                    OpdaterIArk rækIArk
                Else
                    OpdaterIArk aktuelleRæk
                End If
    Else
        MsgBox ("Timer skal udfyldes")
        Me.f_arbejde.SetFocus
    End If
End Sub

Private Sub OpdaterIArk(række)
  If Me.f_sletRækkedata = False Then
                       
                Cells(række, 1) = Me.f_timer.Value
     
      Else
        Rows(CStr(række) + ":" + CStr(række)).Select
        Selection.Delete Shift:=xlUp
       
    End If
     
   
   
    rækIArk = findFørsteLedigeRække
    aktuelleRæk = rækIArk
    visAktuelleRække
    Cells(rækIArk, 1).Select
    ClearFelter
    Me.f_dato = Format(Date, "dd-mm-yy")
End Sub
Avatar billede kabbak Professor
05. december 2007 - 22:00 #5
Cells(række, 1) = val( Me.f_timer)
Avatar billede mira96ac Novice
05. december 2007 - 22:15 #6
Den cutter decimalerne og sætter dem til 0 ?
Avatar billede kabbak Professor
05. december 2007 - 22:19 #7
Du skal bruge punktum i tekstboksen, for decimal

15.5

ikke 15,5
Avatar billede kabbak Professor
05. december 2007 - 22:21 #8
hvis du vil bruge komme, så retter denne det

Cells(række, 1) = val( replace(Me.f_timer,",","."))
Avatar billede mira96ac Novice
05. december 2007 - 22:23 #9
Dvs. at brugeren må simpelthen ikke taste komma i tekstboksen ?
Avatar billede kabbak Professor
05. december 2007 - 22:27 #10
hvis du bruger den sidste 22:21:19, må man godt
Avatar billede mira96ac Novice
05. december 2007 - 22:34 #11
Super.

Endnu engang tak for hjælpen.

Kom med et svar.
Avatar billede kabbak Professor
05. december 2007 - 22:35 #12
et svar ;-))
Avatar billede mira96ac Novice
10. december 2007 - 06:32 #13
Hej Kabbak

Hvis du ser det her.

Kan man gøre det samme med en celle som altid skal være en dato ?
Format (dd-mm-åå)
Avatar billede kabbak Professor
10. december 2007 - 08:10 #14
hvad mener du?

mener du hvis du taster 01,05,2007 i en tekstbox og så vil have det i en celle


Cells(række, 1) = (replace(Me.f_dato,",",":"))
Avatar billede mira96ac Novice
10. december 2007 - 08:41 #15
Nej jeg mener:

Jeg har et felt i userformen hvor værdien er 10-12-07.(dd-mm-åå)

Jeg skal så bare have at når den skriver linien

Cells(række, 2) = Me.f_dato.Value

så beholder den datoformatet i den celle i arket.

Lige nu lavet den formattet om nogle gange til f.eks. 12-10-07.
Avatar billede kabbak Professor
10. december 2007 - 13:31 #16
Prøv med

Dim A As Variant
A = Split(Me.f_dato, "-")
Cells(række, 2) = DateSerial(A(2), A(1), A(0))
Avatar billede mira96ac Novice
10. december 2007 - 13:45 #17
Tusind tak.

Den prøver jeg.

Har du tid til at kigge på min kode vedr. en userform. Den er lige pludselig begyndt at "beholde" informationerne i felterne. Den nulstilles ikke hver gang ?

Jeg opretter selvfølgelig et nyt spørgsmål hvis du har tid.
Avatar billede mira96ac Novice
10. december 2007 - 16:06 #18
Jeg kan ikke få

13:31:40

Til at virke.

Jeg har yderligere det problem. At både dato og timefeltet i min userform vises fint med komma og datoformat indtil jeg har opdateret mit bagvedliggende Excel ark.

Så kan jeg via min userform se alle linier (med spinbutton up/down) bagved og rette i dem via userformens felter. Men datofeltet i userformen laves om til 12/12/07) = skråstreger og komma bliver til punktum i timefeltet.
Avatar billede mira96ac Novice
10. december 2007 - 16:20 #19
Har selv fundet ud af det.
Avatar billede mira96ac Novice
10. december 2007 - 21:11 #20
Jeg er nok nødt til at få hjælp til det med at skrive datoen korrekt til en celle alligevel.

Jeg troede det virkede og det står korrekt i userformen, men den laver formattet om når den skriver i cellen.
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