Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Popolare automaticamente tabella con macro

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Popolare automaticamente tabella con macro

Postdi MKino8 » 06/11/17 15:48

Seve a tutti, sono di nuovo qui per chiedervi un'altra informazione riguardante un codice VBA.
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.
MKino8
Newbie
 
Post: 6
Iscritto il: 27/10/17 01:12

Sponsor
 

Re: Popolare automaticamente tabella con macro

Postdi Zer0Kelvin » 07/11/17 00:27

Ciao.
Se ho capito bene la richiesta, vorresti che i dati fossero inseriti in una tabella Excel con intestazioni, ma per fare questo non hai bisogno di modificare il codice.
Basta formattare come tabella l'area interessata; ogni riga aggiunta entra automaticamente a far parte della tabella.
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 359
Iscritto il: 08/04/12 11:23

Re: Popolare automaticamente tabella con macro

Postdi MKino8 » 07/11/17 22:33

Ok Grazie.
Pensavo non funzionasse.
MKino8
Newbie
 
Post: 6
Iscritto il: 27/10/17 01:12


Torna a Applicazioni Office Windows


Topic correlati a "Popolare automaticamente tabella con macro":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti