rimborsi trasferte



  • rimborsi trasferte
    di NICOLA (utente non iscritto) data: 27/04/2016 11:22:49

    Ciao,
    avrei bisogno di compilare in automatico il report di rimborsi trasferta sulla base dei dati che vengono inseriti mensilmente.
    Allego un file di esempio, dove sono presenti:
    1) Foglio "INSERIMENTO TRASFERTE" dove l'utente inserisce giornalmente le trasferte effettuate
    2) Foglio "Master" che serve di riepilogo mensile per il pagamento dei rimborsi. Quello che vorrei è che in tale foglio, a seconda del mese che viene inserito nella cella H6, si compilassero in automatico (sulla base degli inserimenti del Foglio "INSERIMENTO TRASFERTE") le celle sotto le voci "Data", "Località", "Motivo della Trasferta", "Km" e "Ind. Trasferta". Tali voci sono presenti ovviamente nel Foglio "INSERIMENTO TRASFERTE" (per chiarezza le ho evidenizate con gli stessi colori).

    Poi ovviamnete dovrei salvare il foglio come PDF in un determinato percorso. Ho già messo una macro per questo, mi sembra vada bene, anche se devo modifcare il nome del file inserendo anche il mese ed il nome utente.

    Grazie



  • di patel data: 27/04/2016 13:04:08

    nel foglio master hai unito le celle delle colonne CDE, questo porta problemi nella copia, puoi separarle e riallegare il file ?





  • di Mister_x (utente non iscritto) data: 27/04/2016 13:08:58

    ciao

    sub da inserire nel foglio master

    va aggiustata sull'ultimo riferimento di colonna I io ho riportato la colonna N da come ho capito

    ciao
     
    Option Explicit
    Sub RiportaMese()
    Dim €Km As String
    Dim i As Long, Nriga As Long
    Dim Sh As String
    Sh = "INSERIMENTO TRASFERTE"
    Nriga = 20
    €Km = InputBox("inserire solo valori numerici  decimali col punto 0.01", "Onorario KM")
    ''Range("G20") = --(€Km)
    Range("A20:I36").ClearContents
    For i = 7 To Sheets(Sh).Cells(Rows.Count, 1).End(xlUp).Row
     If Sheets(Sh).Cells(i, "B").Text = Range("H6") And Year(Sheets(Sh).Cells(i, "C")) = Range("I6") Then
      Cells(Nriga, "A") = Sheets(Sh).Cells(i, "C")
      Cells(Nriga, "B") = Sheets(Sh).Cells(i, "E")
      Cells(Nriga, "C") = Sheets(Sh).Cells(i, "F")
      Cells(Nriga, "F") = Sheets(Sh).Cells(i, "G")
      Cells(Nriga, "G") = --(€Km)
      Cells(Nriga, "H") = --(€Km) * Cells(Nriga, "F")
      Cells(Nriga, "I") = Sheets(Sh).Cells(i, "N")
      Nriga = Nriga + 1
     End If
    Next i
    End Sub
    






  • di Mister_x (utente non iscritto) data: 27/04/2016 13:16:46

    riciao

    mi sono scordato che in excel italiano per i decimali ci vuole la virgola e non il punto qiundi correggi
    da cosi
    €Km = InputBox("inserire solo valori numerici decimali col punto 0.01", "Onorario KM")
    a cosi
    €Km = InputBox("inserire solo valori numerici decimali col punto 0,01", "Onorario KM")

    riciao




  • risposta
    di NICOLA (utente non iscritto) data: 27/04/2016 15:46:10

    Ciao,
    ho provato ad inserire la sub ma non funziona ... o meglio, non capisco qual'è il valore che mi chiede di inserire.
    Provo a riassumere quello che mi serve:
    Avrei bisogno che nel Foglio "Master", inserendo manualmente il nome del mese nella cella H6 (o meglio, se fattibile, tramite maschere iniziale dove viene richiesto l'inserimento), si compilassero in automatico (sulla base degli inserimenti del Foglio "INSERIMENTO TRASFERTE") le celle sotto le voci "Data", "Località", "Motivo della Trasferta", "Km" e "Ind. Trasferta". Tali voci sono presenti ovviamente nel Foglio "INSERIMENTO TRASFERTE" (per chiarezza le ho evidenizate con gli stessi colori), e ovviamente possono variare in numero (ad esempio un mese ne posso avere una ed in un altro mese 20 o più).

    Grazie

    Ciao



  • di Mister_x (utente non iscritto) data: 27/04/2016 16:05:54

    ciao

    questa sub() sempre da inserire nel modulo Master
    parte alla variazione in H6


    ciao

    PS InpudBox serve nel caso i parametri di rimborso Km sono variati in base al mese ACI Km
     
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("H6")) Is Nothing Then Exit Sub
    On Error Resume Next
    Dim €Km As String
    Dim i As Long, Nriga As Long
    Dim Sh As String
    Sh = "INSERIMENTO TRASFERTE"
    Nriga = 20
    €Km = InputBox("inserire solo valori numerici  decimali col punto 0,41", "Onorario KM")
    ''Range("G20") = --(€Km)
    Range("A20:I36").ClearContents
    For i = 7 To Sheets(Sh).Cells(Rows.Count, 1).End(xlUp).Row
     If Sheets(Sh).Cells(i, "B").Text = Range("H6") And Year(Sheets(Sh).Cells(i, "C")) = Range("I6") Then
      Cells(Nriga, "A") = Sheets(Sh).Cells(i, "C")
      Cells(Nriga, "B") = Sheets(Sh).Cells(i, "E")
      Cells(Nriga, "C") = Sheets(Sh).Cells(i, "F")
      Cells(Nriga, "F") = Sheets(Sh).Cells(i, "G")
      Cells(Nriga, "G") = --(€Km)
      Cells(Nriga, "H") = --(€Km) * Cells(Nriga, "F")
      Cells(Nriga, "I") = Sheets(Sh).Cells(i, "N")
      Nriga = Nriga + 1
     End If
    Next i
    End Sub
    
    
    





  • risposta
    di NICOLA (utente non iscritto) data: 27/04/2016 16:22:54

    Scusa, ma devo essere davvero un incapace ... perchè non riesco a capire come e dove devo inserire la sub () che hai creato.
    Potresti per favore inserirle tu nel file excel che avevo allegato e riallegarlo.
    Così magari vedo come hai fatto ?

    Grazie ... e scusa per la rottura !



  • di patel data: 27/04/2016 17:04:44

    ciao Mister_x
    io credo che tu abbia frainteso, l'utente vuole soltanto riportare nel foglio master le trasferte del mese indicato nella cella H6, non c'è bisogno di inputbox





  • di Mister_x (utente non iscritto) data: 27/04/2016 17:24:03

    ciao

    ti ho allegato il file con inserita la sub() nel foglio master

    ciao patel , inputbox l'ho inserito per il rimborso chilometrico, in quanto trattasi di una fattura di rimborso , ho si riporta manualmente tutte le volte, quindi inserendo formule nella colonna adiacente per il calcolo, o si posta in automatico lasciando alla sub() il compito di tale problema.
    altra cosa , a mio avviso mancano ancora altri calcoli da riportare in automatico vedi celle da
    H39 ad H44, diciamo roba semplice da attuare sapendo quale sia il riscontro delle colonne nel foglio di inserimento dati che fanno capo a questi

    rimaniamo in attesa

    ciao




  • risposta
    di NICOLA (utente non iscritto) data: 28/04/2016 09:36:02

    Ciao,
    direi che funziona bene!
    Grazie

    Ti chiedo però una cosa se è possibile.
    Vorrei che una volta che vengono inserite le trasferte le celle vengano bloccate per evitare che vengano modificate. Ed inserire una password da assegnare a chi gestisce l'amministrazione per eventualmente sbloccarle e modificarle.
    E' possibile?