Condividi:        

estrarre nomi fogli in un unico foglio

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

estrarre nomi fogli in un unico foglio

Postdi capa » 21/12/11 17:53

Salve a tutti,
Sono nuovo e desidero porvi un quesito.
Ho un file Excel dove all'interno sono presenti circa 300 fogli, ognuno con nome diverso ma la struttura è uguale per tutti.
Come posso estrarre i nomi di tutti questi fogli in modo tale che mi compaiano in un unica colonna in elenco?
Mi potreste aiutare?

Grazie mille
capa
Newbie
 
Post: 3
Iscritto il: 21/12/11 17:45

Sponsor
 

Re: estrarre nomi fogli in un unico foglio

Postdi gianc » 21/12/11 21:47

ciao capa
non sono un maestro di excel, soprattutto non conosco VB quindi macro 0 e nonso rispondere alla tua domanda.
però per esperienza penso che sia piuttosto controproducent utilizzare più fogli contenenti la stessa struttura....soprattutto se diventano così tanti.
in genere i fogli dovrebbero contenere informazioni diverse l'uno dall'altro altrimenti limiti buona parte delle potenzialità di excel.
è molto importante, quando si imposta un file excel di qualunque genere, strutturare in modo corretto l'aggregazione dei dati e la via da utilizzare per estrarre i dati.

comunque non conosco nel dettaglio iltuo caso quindi non ti so aiutare ulteriormente e prendi lamia osservazione solo come consiglio

saluti
gianc
Utente Junior
 
Post: 59
Iscritto il: 19/03/11 00:51
Località: Pistoia

Re: estrarre nomi fogli in un unico foglio

Postdi Anthony47 » 21/12/11 23:59

Ciao capa, benvenuto nel forum.
Questa macro ti creera' l' elenco dei fogli disponibili, mettendoli su colonna A del foglio chiamato Indice (che deve gia' esistere), da riga 1 in giu'
Codice: Seleziona tutto
Sub ListF()
Sheets("Indice").Range("A1").Value = "Nome Foglio"
For I = 1 To ThisWorkbook.Worksheets.Count
    Sheets("Indice").Cells(I + 1, 1).Value = Sheets(I).Name
Next I
End Sub

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

Re: estrarre nomi fogli in un unico foglio

Postdi capa » 27/12/11 10:52

Grazie mille, funziona benissimo.
Avrei un'altra domanda, nella colonna dei nomi che ho estratto, vorrei inserire un valore che è all'interno di ogni foglio.
esempio:
foglio1 cella n4
foglio2 cella n4
foglio3 cella n4

ma il valore della cella n4 cambia in base al foglio.

Grazie in anticipo
Capa
capa
Newbie
 
Post: 3
Iscritto il: 21/12/11 17:45

Re: estrarre nomi fogli in un unico foglio

Postdi Flash30005 » 27/12/11 13:22

Benvenuto Capa, anche da parte mia

Modificando la macro di Anthony dovresti ottenere ciò che hai richiesto
Codice: Seleziona tutto
Sub ListF()
Sheets("Indice").Range("A1").Value = "Nome Foglio"
For I = 1 To ThisWorkbook.Worksheets.Count
If Sheets(I).Name <> "Indice" Then
    Sheets("Indice").Cells(I, 1).Value = Sheets(I).Name & " cella " & Sheets(I).Range("N4").Value
    End If
Next I
End Sub


Mi sembra di aver capito che vuoi l'intera stringa (NomeFoglio cella e valore su N4) nella stessa colonna del nome foglio

Se invece vuoi il nome foglio nella colonna A e il valore N4 nella colonna B devi solo fare questa semplice modifica
Codice: Seleziona tutto
Sub ListFB()
Sheets("Indice").Range("A1").Value = "Nome Foglio"
For I = 1 To ThisWorkbook.Worksheets.Count
If Sheets(I).Name <> "Indice" Then
    Sheets("Indice").Cells(I, 1).Value = Sheets(I).Name
   Sheets("Indice").Cells(I, 2).Value = Sheets(I).Range("N4").Value
    End If
Next I
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: estrarre nomi fogli in un unico foglio

Postdi aleqwert » 31/10/14 07:05

Ciao,

mi lego alla vs discussione in quanto ho un problema simile.
Per estrarre i nomi dei fogli su un unico foglio ho utilizzato questa macro

Sub EstraiNomiFogli()
Dim i As Integer
Dim fg As String
For i = 2 To ThisWorkbook.Sheets.Count
fg = ThisWorkbook.Sheets(i).Name
Cells(i - 1, 1).Value = fg
Next i
End Sub

mi funziona, ed è già qualcosa visto le ridottisime mie capacità su questo argomento.
Ora, come serviva a capa, vorrei inserire nelle colonne a fianco dei "nomi fogli" altri dati relativi ai fogli. Non si tratta però di celle contenute nel foglio di riferimento bensì di alcune sue "proprietà": la data di creazione del foglio e la sua ultima data di modifica

Vorrei ottenere una tabella del genere

Nome foglio1; Data creazione foglio1; Data ultima modifica foglio1;
Nome foglio2; Data creazione foglio2; Data ultima modifica foglio2;
Nome foglio3; Data creazione foglio3; Data ultima modifica foglio3;
.................

Riuscireste ad aiutarmi?

Vi ringrazio

Ciao
aleqwert
Utente Junior
 
Post: 13
Iscritto il: 31/10/14 06:47

Re: estrarre nomi fogli in un unico foglio

Postdi Zer0Kelvin » 31/10/14 09:11

Ciao.
aleqwert ha scritto:mi lego alla vs discussione in quanto ho un problema simile.
Questo non si fa (per diversi motivi), devi aprire un nuovo post ed eventualmente (ma in questo caso non serve) si indica la discussione da cui si è preso spunto.
Poi, in realtà, il quesito è completamente diverso.
Nel titolo potresti indicare qualcosa tipo "Data Ultima modifica di un foglio".
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 388
Iscritto il: 08/04/12 11:23

Re: estrarre nomi fogli in un unico foglio

Postdi aleqwert » 31/10/14 09:32

Ciao,

ti ringrazio delle indicazioni. E' inutile dire che sono nuovo del luogo....
aleqwert
Utente Junior
 
Post: 13
Iscritto il: 31/10/14 06:47


Torna a Applicazioni Office Windows


Topic correlati a "estrarre nomi fogli in un unico foglio":


Chi c’è in linea

Visitano il forum: Nessuno e 43 ospiti