Visualizza messaggio singolo
Vecchio 18-10-2017, 21.30.25   #21
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
Rif: excel - funzione INDIRETTO

Quota:
Inviato da derekk Visualizza messaggio
....
2) è possibile far partire la macro all'apertura del file (senza cliccare sul tasto della macro?)
si basta che metti il codice nel foglio (foglio 1 di ottobre.xls) nell'evento activate e ogni volta che attivi il foglio1 parte la macro

per il resto cambia il codice con questo

Codice:
Sub prova1()
    
    cart = "C:\Users\User\Desktop\" '
    nomeFgl = "Foglio1" 'foglio di origine da cui prelevare i dati
    nomeFl = ActiveSheet.Cells(2, 1) 'nome del file da aprire
    r = 3: c = 1

For t = 3 To 15
    indi = Chr(64 + c) & r
    indi1 = Chr(64 + c + 2) & r
  perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi).Range("A1").Address(, , xlR1C1)
  perc1 = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi1).Range("A1").Address(, , xlR1C1)
    Sheets("Foglio1").Cells(r, 1) = ExecuteExcel4Macro(perc)
    Sheets("Foglio1").Cells(r, 3) = ExecuteExcel4Macro(perc1)
        For x = 14 To 28
           indi3 = Chr(64 + x) & r
            perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi3).Range("A1").Address(, , xlR1C1)
            Sheets("Foglio1").Cells(r, x) = ExecuteExcel4Macro(perc)
            x = x + 2
        Next
    x = 30
    indi4 = Cells(r, x).Address
    perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi4).Range("A1").Address(, , xlR1C1)
    Sheets("Foglio1").Cells(r, x) = ExecuteExcel4Macro(perc)

        For y = 40 To 42 Step 2
           indi5 = Cells(r, y).Address
            perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi5).Range("A1").Address(, , xlR1C1)
            Sheets("Foglio1").Cells(r, y) = ExecuteExcel4Macro(perc)
        Next
    
  indi6 = Cells(r, 57).Address
    perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi6).Range("A1").Address(, , xlR1C1)
    Sheets("Foglio1").Cells(r, 57) = ExecuteExcel4Macro(perc)
    
  r = r + 3
Next t

End Sub
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando