Il codice in questione è questo
- Codice: Seleziona tutto
Sub SalvaDocumento_di_trasporto()
Dim myFile As String, lastRow As Integer
'Seleziona l'anno corrente
Sheets("Documento di trasporto").Select
Range("B15").Select
Dim Anno As Integer
Anno = Year(Range("B15"))
Sheets("DOCUMENTI EMESSI").Select
Dim myMax As Long
myMax = Evaluate("=MAX(IF(C:C= " & Anno & ",B:B))") + 1
Sheets("Documento di trasporto").Range("B13").Value = myMax
myFile = "A:\marck\Progetto Atelier Delizia\Documenti\" & "DDT di " & Sheets("Documento di trasporto").Range("D5") & _
" Numero " & Sheets("Documento di trasporto").Range("B13") & " del " & Format(Now(), "dd-mm-yyyy") & ".pdf"
lastRow = ThisWorkbook.Sheets("DOCUMENTI EMESSI").UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
'Tipo_Documento
ThisWorkbook.Sheets("DOCUMENTI EMESSI").Cells(lastRow, 1) = Sheets("Documento di trasporto").Range("A1")
'Numero_Documento
ThisWorkbook.Sheets("DOCUMENTI EMESSI").Cells(lastRow, 2) = Sheets("Documento di trasporto").Range("B13")
'Anno
ThisWorkbook.Sheets("DOCUMENTI EMESSI").Cells(lastRow, 3) = Anno
'Data
ThisWorkbook.Sheets("DOCUMENTI EMESSI").Cells(lastRow, 4) = Sheets("Documento di trasporto").Range("B15")
'Cliente
ThisWorkbook.Sheets("DOCUMENTI EMESSI").Cells(lastRow, 5) = Sheets("Documento di trasporto").Range("D5")
'File
ThisWorkbook.Sheets("DOCUMENTI EMESSI").Hyperlinks.Add _
Anchor:=Sheets("DOCUMENTI EMESSI").Cells(lastRow, 7), Address:=myFile, TextToDisplay:=myFile
'Esporta e salva
ThisWorkbook.Sheets("Documento di trasporto").ExportAsFixedFormat Type:=xlTypePDF, Filename:=myFile
Application.DisplayAlerts = False
MsgBox "DDT di " & Sheets("Documento di trasporto").Range("D5") & "N. " & _
Sheets("Documento di trasporto").Range("B13") & " del " & Format(Now(), "dd-mm-yyyy") & _
" Salvata con successo!", vbInformation
Application.DisplayAlerts = True
End Sub
Il suo compito, in breve, è quello di recuperare delle informazioni contenute in un altro foglio e salvarle, come archivio, linearmente su un altro, per poi esportare il primo foglio come PDF.
In più ha una finzione che tiene conto dell'anno corrente e aggiorna sul foglio del DDT automaticamente il numero del documento.
Tutto funziona benissimo, non ha particolari controlli, ma per adesso non mi servono.
La cosa che però vorrei fare è di salvare i dati in archivio non su righe normali, ma all'interno di una tabella preconfigurata.
Ossia, vorrei che invece di calcolare la lastRow e salvare i dati linearmente nella prima libera, li salvasse in modo analogo, ma all'interno di una tabella di Excel preconfigurata.
In modo poi che sia più semplice maneggiarli in futuro ed effettuare ricerche in modo più semplice.
Sperò che sia chiaro quello che vorrei fare e che il mio codice, che ho costruito con suggerimenti qua e la, sia valido.
Buona giornata a tutti.