Excel per Schedario Clienti



  • Excel per Schedario Clienti
    di Emanuele (utente non iscritto) data: 21/08/2014 18:19:16

    Ciao a tutti ragazzi, mi chiamo Emanuele ed è la prima volta che scrivo tra di voi.
    Per essere sintetici; allego un file, al cui interno è presente una macro che ovviamente non ho inserito io, purtroppo non ne sono in grado.
    La macro è fantastica perché al doppio click su Cliente 1, 2, 3, e così via in automatico inserisce nella casella adiacente la data odierna e l'ora.
    Io avrei bisogno che la data venisse inserita dalla colonna E anziché a partire dalla colonna B perché ho bisogno di alcune celle per i dati anagrafici dei miei clienti.
    Inoltre esiste un modo per compilare contemporaneamente un grafico che mi indica la percentuale di clienti incontrati per ogni provincia? Al doppio click praticamente si dovrebbe inserire la data della visita e un aggiornamento nella percentuale del grafico. Se necessario potrei anche creare un foglio per ogni provincia e alla fine un foglio con il grafico di riassunto.

    Spero di essere stato chiaro nelle mie richieste e che ci sia qualcuno in grado di aiutarmi o di spiegarmi come fare.

    Grazie a tutti.
    Emanuele.



  • di Grograman data: 22/08/2014 09:56:19

    Per la prima domanda modifica la macro come segue (ho aggiunto il controllo sulla cella vuota in colonna A).

    Per il grafico spiega meglio, o meglio, allega un grafico come lo vorresti o come lo hai, senza difficile sapere come muoversi!
     
    Option Explicit
    
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim r As Long, c As Long
      If Target.Column = 1 And Target <> "" Then
        Application.EnableEvents = False
        r = Target.Row
        c = Cells(r, Columns.Count).End(xlToLeft).Column + 1
        If c = 2 Then c = 5
        Cells(r, c) = Format(Now, "dd/mm hh:mm")
        Application.EnableEvents = True
      End If
    End Sub
    



  • di Grograman data: 22/08/2014 09:58:12

    Meglio così, in caso tu abbia valori scritti solo fino a colonna c:
     
    Option Explicit
    
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim c As Long
      If Target.Column = 1 And Target <> "" Then
        Application.EnableEvents = False
        c = Cells(Target.Row, Columns.Count).End(xlToLeft).Column + 1
        If c < 5 Then c = 5 'rettificato
        Cells(Target.Row, c) = Format(Now, "dd/mm hh:mm")
        Application.EnableEvents = True
      End If
    End Sub
    



  • di emanueled76 (utente non iscritto) data: 22/08/2014 17:39:33

    Ciao Grograman, grazie per la risposta e per la tua chiarezza.
    La macro è perfetta, volevo solo chiederti se per eliminare l'ora e lasciare solo la data basta cancellare hh:mm dalla stessa macro.

    In merito al grafico purtroppo non sono in grado di realizzarne uno per farti vedere cosa intendo, posso solo cercare di essere più chiaro.

    Immagina un file costituto da 9 fogli di lavoro (sono 9 perché 9 sono le province siciliane e io copro per lavoro tutta la regione).
    Ogni riga è dedicata ad un cliente: le prime 4 celle sono riservate ai dati anagrafici.
    Dalla cella E ogni doppio click compare la data della relativa visita.
    Nel primo foglio ho un elenco di 100 clienti.
    Il grafico dovrebbe aggiornarsi ad ogni inserimento di nuova visita, magari un grafico a torta che indica la percentuale di completamento del foglio di lavoro, arrivando al 100% quando sono stati visti tutti i clienti.

    Spero di essere stato più chiaro questa volta.
    Comunque grazie infinite per il tuo aiuto.

    Emanuele.