Buongiorno a tutti,
esiste in VBA una funzione predefinita che restituisce il nome del mese ("Gennaio", "Febbraio",....) se gli passo un numero compreso fra 1 e 12 (o fra 0 e 11)?
Kisses,
Nat
Buongiorno a tutti,
esiste in VBA una funzione predefinita che restituisce il nome del mese ("Gennaio", "Febbraio",....) se gli passo un numero compreso fra 1 e 12 (o fra 0 e 11)?
Kisses,
Nat
Ho spostato anche questa discussione.
Tutti i quesiti relativi a Visual Basic vanno inseriti all'interno di quest'area.
Per altri dubbi, consulta il Regolamento.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Ciao..una funzione specifica per quello che hai chiesto non esiste, cmq potresti sempre fare ciò tramite un select case:
Cmq tanto per darti una idea di come procedere..codice:Private Sub Form_Load() MsgBox Mese(2) End Sub Public Function Mese(ByVal Numero As Byte) As String Select Case Numero Case Is = 1 Mese = "Gennaio" Case Is = 2 Mese = "Febbraio" Case Is = 3 Mese = "Marzo" Case Is = 4 Mese = "Aprile" 'ecc.. Case Else MsgBox "Il numero inserito non è valido", vbCritical, "Errore" End Select End Function
Ciao
io VBA non lo conosco, ma in VB6 o VB.NET usando il comando Format puoi fare quello che dici tu:
dovrebbe essere così.... ma non so se funziona in VBA.codice:dim strMese as string strMese=Format(now,"mmmm")
ciao ciao
I database... la mia passione + o -
Format va bene anche in VBA.
Però, non so come passargli un numero fra 1 e 12, e farmi restituire il mese: ad esempio, un ciclo che riempia un array con i nomi dei mesi, utilizzando Format?
Kisses,
Nat
Basta rifletterci un pò...
Private Sub cmdProva_Click()
Dim iCount As Integer
For iCount = 1 To 12
MsgBox Format(Day(Now()) & "/" & iCount & "/" & Year(Now()), "mmmm")
Next
End Sub
Il giorno non e' necessario e se vuoi il mese in maiuscolo usi la StrConv ...
MsgBox StrConv(Format(iCount & "/" & Year(Now()), "mmmm"), vbProperCase)
In realta', dato che i mesi non dipendono dall'anno corrente, basta anche un anno costante ...
MsgBox StrConv(Format(iCount & "/2000", "mmmm"), vbProperCase)
Ciao oregon, fa piacere conoscere un MVP!
Buono a sapersi che il giorno non è necessario, le costanti cablate nel codice mi fanno allergia (), ed al posto della StrConv() io userei la UCase().
A parte questo, ripeto, piacere di averti "conosciuto"!![]()
Forse puoi rispondere anche ad un'altra domanda che ho postato: quale proprietà impostare per una combobox per impedire all'utente di scriverci dentro.
basta che scegli come stile della combo : DropDownList
Ciao Ciao
I database... la mia passione + o -