Domanda.

da enniofe = enniofe@libero.it

avrei un grande bisogno di aiuto
Ho creato una routine che inserisce una data in una determinata cella del foglio di lavoro; fino a qui nessun problema ma quando confermo tramite inputbox la data, nella cella interessata appare la data senza il giorno e se vado a vedere il formato cella, mi da un formato personalizzato che anche se lo elimino, ricompare ad ogni lancio della routine. Non capisco il perché; puoi aiutarmi.
Ti invio anche il file con il codice in oggetto.
grazie della cortesia
Ennio

questa la sua routine:

Private Sub Workbook_Open()
Dim Mydate As String
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
End With
Worksheets("01").Select
If Range("AF7") = "" Then
1:
Mydate = InputBox(vbTab & "M o d. 161 s e n z a d a t a ! " & vbCr + vbCr + vbTab & _
"I n s e r i r e u n a d a t a ", "Mod. 161", Date)
If Mydate <> "" Then
If IsDate(Mydate) Then
Worksheets("01").Range("AF7") = CDate(Mydate)
Range("AF7").NumberFormat = "gg-mmm-yyyy"
Else
MsgBox "E'stata immessa una data non valida", , "Mod. 161"
GoTo 1:
End If
End If
End If
End Sub

 

Risposta.

ciao ennio, il codice ragiona in inglese, e giorno in inglese si chiama day e si abbrevia con la d, non con la g. La tua istruzione non mette il giorno perchè il vba non sa cosa sia gg, usala così:
Range("AF7").NumberFormat = "dd-mmm-yyyy"

un saluto, ennius