calendario in cella excel

Anonimo
2016-07-09T09:08:59+00:00

ciao a tutti

vorrei velocizzare l'immissione di date in un foglio di excel e ho pensato a 2 soluzioni:

  • al posto di scrivere 09/07/2016 vorrei scrivere 09072016 e il programma dovrebbe in automatico riconoscere la data.
  • quando una cella è selezionata, combinazione di tasti e che compaia un calendario da cui scegliere una data.

cosa mi suggerite?

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
Risposta accettata dall'autore della domanda
Anonimo
2016-07-17T06:52:18+00:00

Ma stai seguendo la procedura qui sotto(in inglese)?

E, come ti è già stato consigliato, c'è anche questo:

o la semplice, banale UserForm proposta nel mio (lontano....) primo post:

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2016-07-09T14:07:29+00:00

Ciao gtsolid,

vorrei velocizzare l'immissione di date in un foglio di excel e ho pensato a 2 soluzioni:

  • al posto di scrivere 09/07/2016 vorrei scrivere 09072016 e il programma dovrebbe in automatico riconoscere la data.
  • quando una cella è selezionata, combinazione di tasti e che compaia un calendario da cui scegliere una data.

cosa mi suggerite? 

Ti sconsiglio il primo approccio.

Prova ad inserire un controllo calendario, dai controlli ActiveX, sul foglio e nel modulo di codice del foglio. incolla il segente codice:

'=========>>

Option Explicit

'--------->>

Private Sub Calendar1_Click()

    With ActiveCell

        .Value = CDbl(Calendar1.Value)

        .NumberFormat = "mm/dd/yyyy"

        .Select

    End With

End Sub

'--------->>

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim Rng As Range

    Const mioIntervallo As String = "A1:A30"                 '<<=== Modifica

    If Target.Cells.Count > 1 Then

        Exit Sub

    End If

    Set Rng = Me.Range(mioIntervallo)

    With Calendar1

        If Not Application.Intersect(Rng, Target) Is Nothing Then

            .Left = Target.Left + Target.Width - Calendar1.Width

            .Top = Target.Top + Target.Height

            .Visible = True

            .Value = Date

        ElseIf .Visible Then

            .Visible = False

        End If

    End With

End Sub

'<<=========

Cliccando sulla cella (diciamo) A10, se vedrebbe qualcosa del genere:

![](http://fud.community.services.support.microsoft.com/Fud/FileDownloadHandler.ashx?fid=c2e409c7-200a-41c8-8d08-98857732e1d2)

Potresti scaricare il mio file di esempio Gtsolid20160709.xlsm a:

https://www.dropbox.com/s/69cio917kh4twrm/Gtsolid20160709.xlsm?dl=0

===

Regards,

Norman

![](http://fud.community.services.support.microsoft.com/Fud/FileDownloadHandler.ashx?fid=080b1f2a-fb91-4e40-90d5-86aa09f2e296)

La risposta è stata utile?

0 commenti Nessun commento

52 risposte aggiuntive

Ordina per: Più recente
  1. Anonimo
    2016-07-10T09:55:27+00:00

    Ciao Casanmaner,

    Ho provato il tuo codice e, oltre al fatto che non accetta delle 'date' che un utente potrebbe comprensibilmente pensare fossero valide, per sottolineare il problema a cui mi alludevo, considera:

    ![](http://fud.community.services.support.microsoft.com/Fud/FileDownloadHandler.ashx?fid=a99cfa20-0aae-43f4-9519-9c020fbcdfab)

    Potrei forse accettare che certe date non fossero riconsciute, ma il fatto che una data considerata come valida dall'utente possa essere male interpretata penso sia un motivo di preoccupazione.

    Magari tuo o Mauro avete idee per "superare" l'inconveniente in caso di inserimento errato in formato ggmmaa :-)

    Purtroppo, non credo che il problema sia succettibile di facile soluzione. Come per esempio sarebbe possibile per Excel di distinguere tra i due casi seguenti:

                               ![](http://fud.community.services.support.microsoft.com/Fud/FileDownloadHandler.ashx?fid=5a7d2408-7394-40d8-9796-3f1c2ba39290)

    Tuttavia, l'inserimento semplificato di date è qualcosa che è stato oggetto di innumerevoli discussioni qui e altrove e credo che i suggerimenti in questa discussione rappresentano le soluzioni migliori ad un problema vessatorio.

    ===

    Regards,

    Norman

    ![](http://fud.community.services.support.microsoft.com/Fud/FileDownloadHandler.ashx?fid=2b99714b-8c3b-4147-96a0-bfd4ef06040e)

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-07-10T08:24:00+00:00

    Tra l'altro rileggendola ci sono delle "ridondanze" che potrebbero essere evitate :-)

    Il problema principale però, come dicevo, è quello del riconoscimento di una data errata ma letta da excel come data valida in formato yy/mm/dd.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-07-10T08:07:05+00:00

    Approfitto per chiedere scusa a Fratello  Mauro: quando ho risposto non avevo visto la sua risposta precedente, altrimenti non avrei risposto io.

    Più risposte, più soluzioni.

    Ciao Fratello, buona domenica.

    La risposta è stata utile?

    0 commenti Nessun commento