Condividi tramite

inserire data in formato americano mmddyyyy in una inputbox

Anonimo
2017-07-18T12:02:25+00:00

Ciao, sto elaborando una semplice macro che chiede con una inputbox la data di un evento e poi elabora il file excel. Tuttavia il file excel ha bisogno che la data sia poi trasformata nel formato mm/dd/yyyy, oggi per esempio 07/18/2017, perché poi va versato in una procedura ideata da americani. Mi potete aiutare per favore?

Grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

6 risposte

Ordina per: Più utili
  1. Anonimo
    2017-07-18T13:02:29+00:00

    Sostituisci questa riga Range("a1").Value = CDate(Datesc)

    con questa

    Range("a1").Value = Format(CDate(Replace(Datesc, ".", "/")), "mm.dd.yyyy")

    ed ottieni il risultato senza formattare la cella, adattalo al tuo scenario, se va bene.

    Se ciò non soddisfa ancora la tua esigenza lascio posto agli esperti del forum.

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2017-07-18T12:48:07+00:00

    e a che serve la macro?

    io devo inserire la data in un qualsiasi formato ( ma tendenzialmente in formato italiano perché gli utenti sono italiani)  nella inputbox, poi tramite la macro, che ovviamente fa anche altre molte altre operazioni che qui non sono rilevanti,  compilare un intervallo con la data inserita in inputbox tradotta nel formato mm/dd/yyyy.

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2017-07-18T12:44:39+00:00

    Ciao Pietro, formatta la cella di destinazione come da immagine che allego, l'ho testato e funziona.

    Facci sapere.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2017-07-18T12:38:24+00:00

    Il tuo codice purtroppo non funziona. L'ho testato in un foglio vuoto e scrive nella cella A1 la data odierna come 31/07/2017 mentre vorrei scrivesse 07/31/2017.

    grazie

    Pietro

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2017-07-18T12:34:04+00:00

    Ciao Pietro, se ho inteso bene la tua esigenza e ti può essere utile, ti posto il codice sottoriportato che utilizzo io per lo stesso scopo.

    L'ho trovato in rete e va benissimo ( per me, spero lo sia anche per te).

    Sub InserisciData()

    Dim Datesc As String

    Dim cCVal As String

    Dim nCVal As String

    Dim cChr As Integer

    Dim i As Long

    Datesc = InputBox("Inserire la data di scadenza: (mm-gg-aaaa)", , Format(Date, "mm-dd-yyyy"))

    cCVal = Datesc

    nCVal = ""

    For i = 1 To Len(cCVal)

        cChr = Asc(Mid(cCVal, i, 1))

        If (cChr > 47 And cChr < 58) Then

            nCVal = nCVal & Chr(cChr)

        Else

            nCVal = nCVal & ""

        End If

    Next i

    Datesc = Mid(nCVal, 1, 2) & "/" & Mid(nCVal, 3, 2) & "/" & Mid(nCVal, 5)

    If IsDate(Datesc) Then

        Range("a1").Value = CDate(Datesc)

    Else

        MsgBox "Data non conforme!", vbCritical + vbOKOnly, "ATTENZIONE"

    End If

    End Sub

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento