AGENDA



  • AGENDA
    di NICOLA (utente non iscritto) data: 20/04/2016 10:43:09

    Ciao a tutti
    ho preparato un'agenza per la mia azienda, adattando un documento che qualcuno di voi mi aveva preparato per un altra cosa.
    Però ho un problema perchè nel foglio di inserimento dati non mi vede tutte le date e i nominativi utente.

    Qualcuno riesce ad aiutarmi?
    Allego file esempio
    Grazie



  • di Gianfranco data: 20/04/2016 12:14:39

    ciao
    devi andare in formule
    gestione nomi
    e allungare il range della convalida
    es
    ='2016'!$A$6:$A$19
    portalo
    a
    ='2016'!$A$6:$A$1900

    o dove vuoi tu

    e così per tutte le formule


  • risposta
    di NICOLA (utente non iscritto) data: 20/04/2016 12:28:33

    OK, questo l'ho sistemato come mi hai detto.
    Ma quando provo ad inserire i dati nel foglio "IMMISSIONE" nelle colonne A, B e C mi da degli errori purtroppo !
    Riallego il file
    Grazie



  • di alfrimpa data: 20/04/2016 12:40:42

    Ciao Nicola

    Ho visto il codice ed hai dichiarato due variabili con lo stesso nome (utente) una volta Range e l'altra String (credo che la String possa essere eliminata).

    Poi non hai dichiarato la variabile "commessa".

    Alfredo




  • risposta
    di NICOLA (utente non iscritto) data: 20/04/2016 12:55:16

    .... non so fare !!!!
    .... riesci a sistemarmelo te ... così poi cerco di imparare e la prossima volta non ti rompo più????

    Grazie



  • di alfrimpa data: 20/04/2016 14:30:48

    Ciao Nicola

    Ti ho sistemato la macro come vedi sotto e ora non dà più errori di debug del codice l'ho anche sistemata perché prima (a quel che ho capito io) non funzionava bene perché non metteva le informazioni nei posti giusti.

    Ma la macro l'hai scritta tu?

    Ti ho allegato il file corretto NicolaAGESK-rev-01.xlsm

    Fai sapere se è tutto corretto.

    Alfredo  
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ur As Long
    Dim elencodate As Range
    Dim utente As Range
    Dim rig As Long
    Dim col As Long
    Dim miadata As String
    Dim ore As String
    Dim commessa As String
    Dim commesse As Range
    Set commesse = Worksheets("2016").Range("c5:j5")
    On Error Resume Next
    ur = Worksheets("2016").Cells(Rows.Count, 1).End(xlUp).Row
    Set elencodate = Worksheets("2016").Range("a6:a555" & ur)
    Set utente = Worksheets("2016").Range("c5:j5")
    If Not Intersect(Target, Range("C2:C10000")) Is Nothing Then
    miadata = Target.Offset(0, -2).Value
    rig = Application.WorksheetFunction.Match(miadata, elencodate, 0) + 5
    MsgBox rig
    commessa = Target.Offset(0, -1).Value
    col = Application.WorksheetFunction.Match(commessa, commesse, 0) + 2
    ore = Target.Value
    Worksheets("2016").Cells(rig, col).Value = ore
    End If
    MsgBox "Registrazione effettuata:" & Chr(10) & Chr(10) & "Data: " & Target.Offset(0, -2) & Chr(10) & "Commessa: " & Target.Offset(0, -1) & Chr(10) & "Ore: " & Target.Value
    End Sub