Vorrei poter utilizzare VBA per visualizzare qualsiasi numero compreso tra 1 e 24 come numero a 2 cifre. Ovviamente gli unici che hanno un problema con questo sono 1-9 che vorrei mostrare come 01, 02, 03, ecc. C'è un modo per eseguire questo?Formattazione di un numero a due cifre anche se il primo è 0 vba
6
A
risposta
9
Non è possibile formattare una variabile intera, è necessario utilizzare una variabile stringa per la formattazione.
È possibile convertire la parte giorno di una data in un formato con zeri utilizzando la funzione di Day
per estrarre il numero del giorno a partire dalla data, e quindi utilizzando la funzione Format
con un formato "00"
per aggiungere uno zero se necessario
Format (Day (Data), "00")
myDate è una variabile data che contiene il valore di fondo Data
il followin g macro può essere utilizzata come campione di lavoro
Sub Macro1()
Dim myDate As Date
myDate = "2015-5-1"
Dim dayPart As String
dayPart = Format(Day(myDate), "00")
MsgBox dayPart
End Sub
1
ho fatto in questo modo:
number_item = 2
number_item = WorksheetFunction.Text(number_item, "00")
Questo farà il lavoro.
Ho bisogno di applicare questo a un numero generato nel codice non uno in una cella funzionerà allo stesso modo? Posso semplicemente cambiarlo in MyVar.NumberFormat = "00" –
Beh, l'ho provato e ho ottenuto l'errore di run-time '424' Oggetto richiesto sulla riga MyVar.NumberFormat = "00" –
Se questo aiuta a tutto il numero che sono la necessità di formattare è la porzione del giorno di una data che ho estratto da una data fornita tramite un userform. –