You are here:---Rispondi a: [RISOLTO] Copiare dati tra due files excel diversi
Rispondi a: [RISOLTO] Copiare dati tra due files excel diversi2018-11-24T10:22:57+02:00

Home Forum Domande su Excel Generale [RISOLTO] Copiare dati tra due files excel diversi Rispondi a: [RISOLTO] Copiare dati tra due files excel diversi

sidsid
Moderatore
    Post totali: 718

    Questo il codice da mettere in un modulo standard del file Mensile

    Sub AGGIORNA_DATABASE()
    Dim wb1 As Workbook, wb2 As Workbook
    Dim sPath As String, sFile As String
    Dim vTabella As Variant, vFinale() As Variant
    Dim j As Long
    Dim t As Date
    t = Time
    Set wb1 = ThisWorkbook
    sPath = wb1.Path & "\"
    sFile = "Totali.xlsx"
    
    vTabella = wb1.Sheets("Dati").Range("A1").CurrentRegion.Value2
    
    ReDim vFinale(1 To UBound(vTabella), 1 To 4)
    For j = LBound(vTabella) To UBound(vTabella)
        vFinale(j, 1) = vTabella(j, 2)
        vFinale(j, 2) = vTabella(j, 4)
        vFinale(j, 3) = vTabella(j, 5)
        vFinale(j, 4) = vTabella(j, 6)
    Next j
    
    With Application
        .ScreenUpdating = False
        'verifico se lo slave è chiuso, nel caso lo apro
        On Error Resume Next
        Set wb2 = .Workbooks(sFile)
        If wb2 Is Nothing Then
           Set wb2 = .Workbooks.Open(sPath & sFile)
        End If
        On Error GoTo 0
        
        'formatto il foglio di destinazione e copio i dati
        With wb2.Sheets("Dati")
            .Range("A:D").Clear
            .Range("B:B").NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
            .Range("C:D").NumberFormat = "dd/mm/yyyy"
            .Range("A1:D" & UBound(vFinale)).Value = vFinale
            .Range("A:D").Columns.AutoFit
        End With
        
        'salvo e chiudo il file dei Totali
        wb2.Close True
        .ScreenUpdating = True
        MsgBox Format(Time - t, "HH:MM:SS"), vbInformation, "COPIA ESEGUITA IN....."
    
    End With
    Set wb1 = Nothing
    Set wb2 = Nothing
    End Sub

    Fa sapere, :bye:

    Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

    Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

    Chiudi