Avatar billede dl Nybegynder
15. november 2004 - 11:47 Der er 5 kommentarer og
1 løsning

Excel datoform

Jeg har på mit excel regneark -> formateret celle A1 til Kort datoformat altså  fx. 31/12/05 .

Når mit regneark starter, så starter der en form.
På denne form er der en Tekst box.

Mit problem:  Jeg skal indtaste dato, den skal overholde dato værdien, altså  dd-mm-yy

Når jeg trykker på enter eller Retur ( altså begge enter knapper, skal jeg kunne trykke på ) så skal den overføre dato fra tekstboxen ned til regnearket celle A1. Og derrefter lukke min form.

Hvordan gør jeg det.

PS. jeg har brugt denne kode til at overføre med: Worksheets(1).Range("A1").Value = TextBox1.Value 'Indsæt på ark1.

og da jeg har formateret celle A1 til kort datoformat, så bytter den om på 12-10-04 til fx  10-12-04, det må den ikke, alt skal overholde  dd-mm-yy
Avatar billede kabbak Professor
15. november 2004 - 12:30 #1
Worksheets(1).Range("A1").Value  = format(TextBox1,"dd,mm,yy!)
Avatar billede kabbak Professor
15. november 2004 - 12:31 #2
Worksheets(1).Range("A1").Value  = format(TextBox1,"dd,mm,yy")
der var en fejl til sidst
Avatar billede dl Nybegynder
19. november 2004 - 01:03 #3
jeg har sat denne linje ind i min texkbox under keypress

Worksheets(1).Range("A1").Value  = format(TextBox1,"dd,mm,yy")

Værdien af celle A1 bliver: 22,08,79  hvis jeg taster 290883.. det skal den ikke værdien SKAL blive 29-08-83

Grunden til at sat koden ind under keypresses er: at jeg vil have at den sætter det hele ind på Excel og lukker formen ... når man trykker på enter eller retur.

//dl

PS. det skal lige siges at jeg prøvede først at formatere cellen, så viser den samme underlige værdier. så NU er den i ren tekst format.
Avatar billede kabbak Professor
19. november 2004 - 20:38 #4
smid disse koder ind, det skulle løse problemet.


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
  Case 8 'backspace
  Case 48 To 57 'numeriske taster
  Case Else
      KeyAscii = 0
End Select

A = Len(TextBox1)
Select Case A
Case 2, 5
TextBox1 = TextBox1 & "-" ' sætter bindestreg efter 2 tegn
Case Is > 7
KeyAscii = 0
Beep
End Select
End Sub


Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Worksheets(1).Range("A1").Value = Format(TextBox1, "dd-mm-yy")
Unload Me
End If
End Sub
Avatar billede dl Nybegynder
19. november 2004 - 23:17 #5
kabbak kom med et svar!  det løser jo problemet.
Avatar billede kabbak Professor
20. november 2004 - 00:00 #6
et svar ;-))
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
Kurser inden for grundlæggende programmering

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