Discussione:
elenco nomi fogli
(troppo vecchio per rispondere)
raniero
2004-09-07 09:47:17 UTC
Permalink
Ciao!
Mi occorre il vostro aiuto su 2 problemi:

Problema 1
Dato un insieme di fogli in una cartella, ciascuno avente
un nome, vorrei sapere qual è la funzione (se c'è) o il
codice VBA per poter elencare automaticamente i nomi dei
fogli su un dato foglio.

Problema 2
Esiste una funzione per cambiare i riferimenti ad una
cella (da relativi a assoluti o viceversa), senza dover
entrare per forza nella formula ed introdurre gli $? Il
problema si pone quando sono molte le celle da modificare.

Grazie.
Raniero
Tiziano Marmiroli
2004-09-07 10:09:53 UTC
Permalink
Post by raniero
Ciao!
Se hai 2 problemi scrivi 2 post separati, grazie.
Post by raniero
Problema 1
Dato un insieme di fogli in una cartella, ciascuno avente
un nome, vorrei sapere qual è la funzione (se c'è) o il
codice VBA per poter elencare automaticamente i nomi dei
fogli su un dato foglio.
Newsgroups:microsoft.public.it.office.excel
Oggetto:Inserire nomi fogli nelle celle?
Data:2004-01-20 10:52:38 PST
www.google.it/groups?threadm=UNePb.120333%24VW.4857159%40news3.tin.it


------------------------------------------------------------
Post by raniero
Problema 2
Esiste una funzione per cambiare i riferimenti ad una
cella (da relativi a assoluti o viceversa), senza dover
entrare per forza nella formula ed introdurre gli $? Il
problema si pone quando sono molte le celle da modificare.
Newsgroups:microsoft.public.it.office.excel
Oggetto:### Trasf. da formule relative ad assolute ####
Data:Sat, 20 Sep 2003 19:32:35 +0200
www.google.it/groups?threadm=wAUab.125349%24R32.3784444%40news2.tin.it
--
Tiziano Marmiroli
Microsoft MVP - Office
Maurizio Borrelli
2004-09-07 10:16:25 UTC
Permalink
"raniero" <***@discussions.microsoft.com> ha scritto nel messaggio news:729a01c494bf$a93454e0$***@phx.gbl...
Problema 1
Dato un insieme di fogli in una cartella, ciascuno avente
un nome, vorrei sapere qual è la funzione (se c'è) o il
codice VBA per poter elencare automaticamente i nomi dei
fogli su un dato foglio.
[...]

Ciao, Raniero.

(Per cortesia, invia tanti quesiti quante sono le domande. Grazie.)

Crea un nome definito, per esempio "NomiDeiFogli", con la seguente
procedura:

Inserisci > Nome > Definisci...
Nomi nella cartella di lavoro: NomiDeiFogli
Riferito a: =INFO.CARTELLA.DI.LAVORO(1)
[ Aggiungi ]
[ Chiudi ]

Nome definito che potrai usare, per esempio cosi':

Formule:
| A |
---+----------------------------------------------------+
1|=CONTA.VALORI(NomiDeiFogli) |
2|{=INDICE(NomiDeiFogli;RIF.RIGA()-RIF.RIGA($A$2)+1)} |
3|{=INDICE(NomiDeiFogli;RIF.RIGA()-RIF.RIGA($A$2)+1)} |
4|{=INDICE(NomiDeiFogli;RIF.RIGA()-RIF.RIGA($A$2)+1)} |
5|{=INDICE(NomiDeiFogli;RIF.RIGA()-RIF.RIGA($A$2)+1)} |
6|{=INDICE(NomiDeiFogli;RIF.RIGA()-RIF.RIGA($A$2)+1)} |
7|{=INDICE(NomiDeiFogli;RIF.RIGA()-RIF.RIGA($A$2)+1)} |
8|{=INDICE(NomiDeiFogli;RIF.RIGA()-RIF.RIGA($A$2)+1)} |
9|{=INDICE(NomiDeiFogli;RIF.RIGA()-RIF.RIGA($A$2)+1)} |
10|{=INDICE(NomiDeiFogli;RIF.RIGA()-RIF.RIGA($A$2)+1)} |
11|{=INDICE(NomiDeiFogli;RIF.RIGA()-RIF.RIGA($A$2)+1)} |

Valori:
| A |
---+-----------------+
1| 3|
2|[Cartel1]Foglio1 |
3|[Cartel1]Foglio2 |
4|[Cartel1]Foglio3 |
5| #RIF!|
6| #RIF!|
7| #RIF!|
8| #RIF!|
9| #RIF!|
10| #RIF!|
11| #RIF!|
--
(Facci sapere se ed eventualmente come hai risolto. Grazie.)

Ciao :o)
Maurizio Borrelli, Microsoft MVP - Office Systems - Access
--------
?SPQR(C)
X
--------
Roberto Restelli
2004-09-07 10:17:00 UTC
Permalink
Ciao Raniero.
Post by raniero
Problema 1
Dato un insieme di fogli in una cartella, ciascuno avente
un nome, vorrei sapere qual è la funzione (se c'è) o il
codice VBA per poter elencare automaticamente i nomi dei
fogli su un dato foglio.
Puoi utilizzare qualhce riga di codice per effettuare un loop sulla
Collection degli oggetti Worksheet.
Ad esempio:
===============
Sub ElencoFogli()
Dim oFoglio As Worksheet
Dim oDestCell As Range

'Crea un riferimento alla cella in cui andare a
' scrivere il nome del foglio.
Set oDestCell = ActiveCell

'Effettua un loop sulla collection "Worksheets"
' recuperando il riferimento ad ogni foglio ed
' il relativo nome.
For Each oFoglio In ThisWorkbook.Worksheets
'scrive il nome del foglio.
oDestCell.Formula = oFoglio.Name
'Individua la prossima cella in cui andare
' a scrivere il prossimo nome di foglio.
Set oDestCell = oDestCell.Offset(RowOffset:=1)
Next

'Resetta le variabili.
Set oFoglio = Nothing
Set oDestCell = Nothing

End Sub
===============
Il codice elenca i fogli a partire dalla cella attiva.
Post by raniero
Problema 2
Esiste una funzione per cambiare i riferimenti ad una
cella (da relativi a assoluti o viceversa), senza dover
entrare per forza nella formula ed introdurre gli $?
Sì, certo. Sempre parlando di VBA, puoi usare il metodo
Application.ConvertFormula(). Trovi nell'help tutte le indicazioni
necessarie.

Ciao
Roberto
--
Roberto Restelli
Microsoft MVP - Office Systems - Outlook
Loading...