Discussione:
Riferimento cella su un generico altro foglio
(troppo vecchio per rispondere)
Kurz
2007-10-02 09:15:22 UTC
Permalink
Buongiorno a tutti.

Se devo fare riferimento alla cella A1 del foglio Alfa scrivo la
formula =Alfa!A1

Il mio problema è che devo fare riferimento al primo foglio della
cartella indipendentemente dal nome che assume.

Usando il VBA scriverei Sheets(1).Range("A1"), ma come posso fare
senza il VBA?

Grazie per la risposta.
ivano
2007-10-02 13:35:04 UTC
Permalink
"Kurz" <***@inwind.it> ha scritto nel messaggio news:***@57g2000hsv.googlegroups.com...
Buongiorno a tutti.

Se devo fare riferimento alla cella A1 del foglio Alfa scrivo la
formula =Alfa!A1

Il mio problema è che devo fare riferimento al primo foglio della
cartella indipendentemente dal nome che assume.

Usando il VBA scriverei Sheets(1).Range("A1"), ma come posso fare
senza il VBA?

Grazie per la risposta.


Ciao,
inserisci un nome definito:
nome: primo
riferito a:
=INDICE(INFO.CARTELLA.DI.LAVORO(1);1)

nel foglio di lavoro:
=INDIRETTO(primo&"!a1")

da testare su ricalcoli ed aggiornamenti della cartella di
lavoro...soprattutto in caso di inserimento o rinominazione del primo
foglio.

ivano
Kurz
2007-10-03 08:11:06 UTC
Permalink
Grazie Ivano.

Funziona, anche se è un po' macchinoso dare il nome alle pagine ad una
ad una.
Mi sa che faccio prima a scrivere una macro...

Però ho un dubbio.
Attraverso una macro su quelle pagine ci scrivo dei dati e le
rinomino.
Non sposto né cancello le pagine.

Rinominando la pagina il nome inserito resta valido?
Suppongo di si, visto che è stato riferito ad un generico
INFO.CARTELLA.DI.LAVORO(1)
Ho cercato delucidazioni sulla guida in linea, e non ho trovato nulla!

Dove devo cercare? Sono curioso.
Ho trovato solo una interessante pagina di traduzione delle funzioni
dall'italiano all'inglese, http://support.microsoft.com/kb/638465/it
ivano
2007-10-03 08:45:03 UTC
Permalink
"Kurz" <***@inwind.it> ha scritto nel messaggio news:***@n39g2000hsh.googlegroups.com...
Grazie Ivano.

Funziona, anche se è un po' macchinoso dare il nome alle pagine ad una
ad una.
Mi sa che faccio prima a scrivere una macro...

Però ho un dubbio.
Attraverso una macro su quelle pagine ci scrivo dei dati e le
rinomino.
Non sposto né cancello le pagine.

Rinominando la pagina il nome inserito resta valido?
Suppongo di si, visto che è stato riferito ad un generico
INFO.CARTELLA.DI.LAVORO(1)
Ho cercato delucidazioni sulla guida in linea, e non ho trovato nulla!

Dove devo cercare? Sono curioso.
Ho trovato solo una interessante pagina di traduzione delle funzioni
dall'italiano all'inglese, http://support.microsoft.com/kb/638465/it


Ciao,
probabilmente c'è un malinteso:
avevi chiesto per ul link al PRIMO foglio, e la funzione (delle vecchie
macro 4.0) INFO.CARTELLA.DI.LAVORO che restituisce una matrice di tutti i
fogli della cartella con la funzione INDICE recupera il primo di questi.
Non capisco cosa intendi con "dare il nome alle pagine ad una ad una"...

Se poi già è un elaborazione da vba...forse sarebbe meglio integrare il
tutto nel codice.
ivano
Kurz
2007-10-03 09:53:42 UTC
Permalink
Ciao Ivano.

In effetti io il lavoro lo devo fare per quaranta pagine; quindi per
ciascuna si esse devo definire un nome:

=INDICE(INFO.CARTELLA.DI.LAVORO(1);1)
=INDICE(INFO.CARTELLA.DI.LAVORO(1);2)
=INDICE(INFO.CARTELLA.DI.LAVORO(1);3)
....
=INDICE(INFO.CARTELLA.DI.LAVORO(1);40)

Si, integrare la procedura nella macro sarebbe semplice, ma ci ho già
messo tanto di quel codice che poi, se mi tocca risistemarla tra
qualche mese, impazzisco.
Quindi meno aggiungo...meglio è.

Suppongo che INFO.CARTELLA.DI.LAVORO(1) si riferisca alla prima
cartella aperta.
Siccome non sono sicuro che al momento di esecuzione della macro
questa sia la prima cartella aperta, come faccio a inserire il nome
preciso della cartella?
Tipo, se la cartella si chiama Pippo
INFO.CARTELLA.DI.LAVORO("Pippo.xls")
Ci ho provato, ma così non funziona...

Per il resto il metodo che mi hai mostrato va bene. E' un po'
farraginoso, ma fa quel che voglio.
ivano
2007-10-03 10:39:19 UTC
Permalink
"Kurz" <***@inwind.it> ha scritto nel messaggio news:***@o80g2000hse.googlegroups.com...
Ciao Ivano.

In effetti io il lavoro lo devo fare per quaranta pagine; quindi per
ciascuna si esse devo definire un nome:

=INDICE(INFO.CARTELLA.DI.LAVORO(1);1)
=INDICE(INFO.CARTELLA.DI.LAVORO(1);2)
=INDICE(INFO.CARTELLA.DI.LAVORO(1);3)
....
=INDICE(INFO.CARTELLA.DI.LAVORO(1);40)

Si, integrare la procedura nella macro sarebbe semplice, ma ci ho già
messo tanto di quel codice che poi, se mi tocca risistemarla tra
qualche mese, impazzisco.
Quindi meno aggiungo...meglio è.

Suppongo che INFO.CARTELLA.DI.LAVORO(1) si riferisca alla prima
cartella aperta.
Siccome non sono sicuro che al momento di esecuzione della macro
questa sia la prima cartella aperta, come faccio a inserire il nome
preciso della cartella?
Tipo, se la cartella si chiama Pippo
INFO.CARTELLA.DI.LAVORO("Pippo.xls")
Ci ho provato, ma così non funziona...

Per il resto il metodo che mi hai mostrato va bene. E' un po'
farraginoso, ma fa quel che voglio.



Ciao,
alcune info sulla funzione lo puoi trovare a:
http://www.riolab.org/viewrisorsa.asp?id=48
e nel file allegato alla pagina indiacata.

ecco parte della guida per la funzione:
Restituisce informazioni relative a una cartella di lavoro.

Sintassi

INFO.CARTELLA.DI.LAVORO(info; nome)
Info è un numero che specifica il tipo di informazioni che si desidera
ottenere su una cartella di lavoro.

Info Restituisce

1 I nomi di tutti i fogli della cartella di lavoro, sotto forma di una
matrice orizzontale di valori di testo
2 Sempre il valore di errore #N/D
3 I nomi dei fogli correntemente selezionati nella cartella di lavoro, sotto
forma di una matrice orizzontale di valori di testo
4 Il numero di fogli nella cartella di lavoro


Per ottenere il nome di tutti i fogli di lavoro della cartella "pippo":
INFO.CARTELLA.DI.LAVORO(1;"Pippo.xls")

se nome è assente si riferisce alla cartella di lavoro attiva.

ivano
Kurz
2007-10-03 12:42:10 UTC
Permalink
Oopss...avevo del tutto frainteso i parametri della funzione...

Grazie, mi sei stato di grande aiuto.

Kurz

Continua a leggere su narkive:
Loading...