Condividi:        

Selezionare automaticamente foglio excel dentro formula

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

Selezionare automaticamente foglio excel dentro formula

Postdi calculon » 16/03/11 20:57

Ciao a tutti,
vorrei chiedervi una mano per ottenere una formula dinamica.

Dunque, mi occorre una formula standard che prelevi da una serie di fogli N il valore della stessa cella X.

=CERCA.VERT(foglio!A36:G36;3;FALSO)

C'è un modo per variare solo il foglio automaticamente?
calculon
Utente Senior
 
Post: 161
Iscritto il: 07/01/11 15:08

Sponsor
 

Re: Selezionare automaticamente foglio excel dentro formula

Postdi Anthony47 » 16/03/11 21:06

Dipende da che cosa intendi con "automaticamente".
Un certo aiuto te lo puo' dare il comando Trova/Sostituisci: selezioni l' area con le formule su cui vuoi cambiare il nome foglio; Trova, IlNomeCorrente; tab Sostituisci, IlNuovoNome.

Oppure, se questo non e' idoneo, ci puo' aiutare il vba; ma dovresti spiegare in dettaglio la logica che vorresti venisse realizzata.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Selezionare automaticamente foglio excel dentro formula

Postdi calculon » 16/03/11 21:13

In sostanza mi trovo a dover copiare lo stesso valore contenuto nella cella x di ciascun foglio su una tabella di riepilogo contenuta nel foglio 1.

Ogni foglio contiene vendite mensili: Gennaio, febbraio, marzo ecc.
Mi serve il valore delle vendite ottenuto nel giorno 10 di ciascun mese

Spero di essere stato chiaro
calculon
Utente Senior
 
Post: 161
Iscritto il: 07/01/11 15:08

Re: Selezionare automaticamente foglio excel dentro formula

Postdi Anthony47 » 17/03/11 00:08

Pero', detta cosi', si tratta di modificare 12 formule sostituendo una parola con un' altra. Una macro e' certamente piu' lunga; come pure l' eventuale uso di un' altra tecnica di indirizzamento (tipo "indiretto").
Cosa non ho afferrato?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Selezionare automaticamente foglio excel dentro formula

Postdi calculon » 17/03/11 09:38

Grazie per l'attenzione che ogni volta mi dedichi.

Sono stato poco chiaro perché i fogli si riferiscono sì ai mesi, ma di oltre 10 anni.
Va da sè che cambiare il nome del foglio su 120 formule inizia ad essere troppo lungo.
calculon
Utente Senior
 
Post: 161
Iscritto il: 07/01/11 15:08

Re: Selezionare automaticamente foglio excel dentro formula

Postdi Anthony47 » 17/03/11 12:54

Si, 120 formule cominciano a essere un problema…
La struttura dei tuoi dati e' ancora vaga, quindi per ora ti prospetto l' uso di "Indiretto":
-supponiamo che i tuoi fogli si chiamino aaaa-mese (es 2009-febbraio)
-supponiamo che il tutto parta da gennaio 2000, cioe' che ci siano fogli chiamati 2000-gennaio, 2000-febbraio, . . . , 2001-gennaio, etc

Allora invece di una formula tipo
=CERCA.VERT(CheCosa;foglio!A36:G36;3;FALSO) userai
Codice: Seleziona tutto
=CERCA.VERT(CheCosa;INDIRETTO(TESTO(DATA(2000;RIF.RIGA(A1);1);"aaaa-mmmm")&"!A36:G36");3;0)

Questa ti restituira' il valore cercandolo sul foglio 2000-gennaio.
Copiando la formula sulle celle sottostanti la ricerca verra' effettuata su 2000-febbraio, 2000-marzo e cosi' via.
Dovrai adattare se la sintassi dei nomi fogli e' diversa.

Se questo spunto non e' sufficiente allora dovresti spiegare meglio la struttura della tua cartella di lavoro.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Selezionare automaticamente foglio excel dentro formula

Postdi giorgioneweb » 26/03/11 14:17

Ciao ragazzi sono nuovo di questo post, ho letto l'argomento in questione e anche io sto cercando di risolvere un problema analogo per l'assegnazione automatica dei fogli all'interno di una formula.
Mi spiego meglio....
Ho creato un file excel con all'interno 200 fogli di lavoro.
Ogni foglio di lavoro si riferisce ad un'attività specifica che fattura il singolo costo.
Ogni 6 mesi devo tirare le somme e allora ho creato un foglio di riepilogo dove vengono riportati i dati principali di riferimento contenuti nei singoli fogli ed inoltre sul quale si sommano o si sottraggono le singole voci per tirare alla fine un totale (DARE o AVERE).
Il problema è andare a riportare con una formula classica (es.='79'!$A$3) quanto riportato sul foglio specifico dovendo cambiare a mano il riferimento ad ogni singolo foglio su tutte le righe (200 righe perché sono 200 fogli) e altrettante 5 colonne per un totale di circa 1.000 operazioni manuali..... UN VERO DELIRIO.
Come posso risolvere il problema...
GRAZIE a chi saprà darmi un mano..
GIORGIO
giorgioneweb
Newbie
 
Post: 1
Iscritto il: 26/03/11 14:08

Re: Selezionare automaticamente foglio excel dentro formula

Postdi Anthony47 » 26/03/11 16:25

Ciao giorgioneweb, benvenuto sul forum
Se hai fatto un file con 200 file il delirio te lo sei voluto.
Almeno in ogni foglio i dati di riepilogo che vuoi prelevare e portare sul foglio di riepilogo sono nella stessa posizione? Quale?
In linea di massima
-ti prepari un foglio Riepilogo
-da excel, Alt-F11 per aprire l' editor delle macro
-menu /Inserisci /Modulo
-copi questa macro e la incolli nel frame di dx
Codice: Seleziona tutto
sub ggweb()
For I=1 to ActiveWorkbook.Worksheets.Count
If Sheets(I).name <>"Riepilogo" then
Sheets(I).Range("A79:H79").Copy      '<<< L' area da ricopiare su Riepilogo
Sheets("Riepilogo").Cella(I+1,1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Next I
End Sub

Personalizza l' istruzione marcata <<< con l' area che devi ricopiare su Riepilogo.
Poi torni su excel; Alt-F8, selezioni la macro ggweb, premi esegui

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

Re: Selezionare automaticamente foglio excel dentro formula

Postdi zinga81 » 25/05/11 10:31

Ciao, anche io ho un problema analogo.
Io ho più di 2000 file di excel con foglio singolo al loro interno. Dovrei poter creare un file di riepilogo che mi copi per ogni file solo la cella c5 e la b18.
per esempio
nella cella a1 trascrivere il contenuto della cella c5 del file 1. nella b1 il contenuto della cella b18 del file 1
nella cella a2 trascrivere il contenuto della cella c5 del file 2. nella b2 il contenuto della cella b18 del file 2
e così via

ho sprovato con questa formula ='C:\schede\[FILE1.xlsx]foglio1'!C5 ed ottengo il risultato voluto solo che farlo per 2000 file significherebbe scrivere 4000 formule dovendo estrarre anche la b18.
Probabilmente si potrebbe lavorare anche su questa semplice formula modificando in automatico il progressivo del numero del file ma non sono riuscito a farlo.

Grazie
zinga81
Newbie
 
Post: 1
Iscritto il: 25/05/11 10:12

Re: Selezionare automaticamente foglio excel dentro formula

Postdi Anthony47 » 25/05/11 13:43

Ciao zinga81, benvenuto nel forum.
Un sistema relativamente semplice, trattandosi immagino di un processo una tantum:
-tramite un ".bat" generi in un file l' elenco dei file .xls presenti in C:\schede\
Es di contenuto del .bat:
Dir "C:\Schede\*.xls" >C:\pippo.txt
-Avrai cosi' nel file C:\pippo.txt l' elenco di file
-apri pippo.txt e copi l' elenco dei file in un foglio del file Riepilogo, e tramite comando "Testo in colonne" ne estrai solo i nomi file che metterai in col A
-poi procedi secondo quanto descritto in questo messaggio. viewtopic.php?f=26&t=80089#p455574 oppure con il metodo e la macro listata nel messaggio successivo a quello.
E se non riesci ti daremo una macro di circa 12-15 linee...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Selezionare automaticamente foglio excel dentro formula

Postdi Avatar3 » 25/05/11 13:51

Leggi il post di Anthony

Si potrebbe fare un elenco dei file e prelevare il valore contenuto nelle celle indicate però potresti risolvere con questa semplice macro che inserisce la formula del collegamento ad ogni file come richiesto
Codice: Seleziona tutto
Sub CreaCollegamenti()
NumFile = 2000
For RR = 1 To NumFile
    Worksheets("Riepilogo").Range("A" & RR).FormulaR1C1 = "='C:\schede\[FILE" & RR & ".xlsx]Foglio1'!R5C[2]"
    Worksheets("Riepilogo").Range("B" & RR).FormulaR1C1 = "='C:\schede\[FILE" & RR & ".xlsx]Foglio1'!R18C"
Next RR
End Sub


L'unica cosa è sapere quanti file hai nella cartella origine, si potrebbe fare una macro che li conteggia, ma fai prima andare con gestione risorse nella cartella leggere il numero di file e inserirlo nella variabile
NumFile = al posto di 2000
Poi avvia la macro

Edit: c'è anche il post di Anthony qui sopra
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Selezionare automaticamente foglio excel dentro formula

Postdi Anthony47 » 25/05/11 14:08

Beh, Avatar, se vai subito sulla macro tanto vale dargli quella che fa la Dir della directory, apre il file, ricopia in Riepilogo le due celle che interessano, chiude il file... Cosa che io avrei fatto "dopo" che l' utente non fosse riuscito con proprie forze (sono un po' sadico?)

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Selezionare automaticamente foglio excel dentro formula":


Chi c’è in linea

Visitano il forum: Nessuno e 61 ospiti