Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Indiretto... Via 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

Indiretto... Via macro

Postdi Mauro21 » 20/05/19 11:17

Ciao a tutti,

Ho la seguente formula, che con il file finale aperto funziona perfettamente:

Codice: Seleziona tutto
=INDIRETTO("'C:\Users\m_gon\Desktop\players\["& B2 &".xls]Worksheet'!A1")


Questa formula mi permette di ottenere il dato della cella A1 del foglio Worksheet del file con nome in cella B2 dentro alla cartella "players". Il nome della casella B2 è variabile, varia al variare della casella B2 della mia pagina (poi faccio copia incolla nella righe successive e diventa quindi B2, B3, ecc). In queste celle (B2, B3, ecc) sono inseriti i vari nomi dei file che gradualmente vengono inseriti nella cartella e calcolati grazie ad una serie di formule.

Il mio unico problema (non da poco) è che per prendere questo dato io ho bisogno di avere il file aperto... E questo non è possibile per me perchè avrò bisogno di avere a display il dato della cella A1 di 100-200 file contemporaneamente.

Ho cercato in rete e mi sono scervellato sulle macro, in quanto ho ormai ben chiaro che INDIRETTO funziona solamente con i file aperti. Le macro sono tuttavia per me un mondo del tutto sconosciuto, so come entrare nella pagina di visualizzazione ma li mi fermo totalmente.

Sareste così gentili da aiutarmi? Leggo di formule da adattare qua e la nel web, ci sto provando ma niente... Non riesco nemmeno a produrre la mia prima macro funzionante.

Grazie a prescindere, intanto

Mauro
Mauro21
Newbie
 
Post: 1
Iscritto il: 20/05/19 10:57

Sponsor
 

Re: Indiretto... Via macro

Postdi Anthony47 » 20/05/19 14:05

Si, per usare Indiretto il file target deve essere aperto...
Con una macro puoi invece inserire direttamente le formule (tecnicamente si dovrebbero chiamare "collegamenti") che puntano ai file di interesse. Ad esempio, se in colonna B, da riga 2 verso il basso, sono posizionati i nomi dei file, puoi ottenere in una colonna della stessa riga la formula giusta tramite questa macro:
Codice: Seleziona tutto
Sub SetFormule()
Dim fColon As String, bPath As String, I As Long
'
fColon = "C"                                    '<<< La colonna in cui scriveremo la formula
bPath = "'C:\Users\m_gon\Desktop\players\"      '<<< Il Percorso dei file da collegare
'
For I = 2 To Cells(Rows.Count, 2).End(xlUp).Row
    If Len(Cells(I, 2).Value) > 5 Then
        Cells(I, fColon).Formula = "=" & bPath & "[" & Cells(I, 2).Value & ".xls]Worksheet'!A1"
    End If
Next I
MsgBox ("Formule inserite...")
End Sub

Il codice va messo in un "Modulo standard del vba"; per come fare vedi qui: viewtopic.php?f=26&t=103893&p=647675#p647675
Le righe marcate <<< vanno personalizzate come da commento

Poi, quando vuoi impostare le formule (dopo aver modificato il contenuto di colonna B, ad esempio) devi eseguire la Sub SetFormule.

Tieni presente che con un centinaio di collegamenti il ricalcolo del foglio potrebbe essere lentino.

Fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Indiretto... Via macro":


Chi c’è in linea

Visitano il forum: Nessuno e 58 ospiti