Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Microsoft Office Excel 2007
Ciao a tutti,
spero di formulare una domanda chiara!
-Ho 60 fogli in una cartella excel;
-Ogni foglio contiene un resoconto cliente;
-il nome cliente si trova nella cella B1 di ogni foglio;
-ogni foglio si chiama NOMECLIENTE e non foglio1 ecc....
vorrei copiare il nome cliente di ogni foglio in un nuovo foglio chiamato "indice". è possibile senza copiarli uno ad uno? magari con una macro?
ho tentato con una macro registrata, ma riesco ad arrivare ad un solo nome copiato. come posso fare? grazie mille !!!!
Ecco quello che hai chiesto, da copia/incollare nel modulo di codice del foglio indice .
Private Sub Worksheet_Activate()
Dim sh As Worksheet
Dim lRiga As Long
lRiga = 1
With Me
.Cells.Clear
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> .Name Then
.Range("A" & lRiga).Value = sh.Range("B1").Value
lRiga = lRiga + 1
End If
Next
End With
Set sh = Nothing
End Sub
Ogni volta che attivi il foglio Indice, ti viene fatto l'elenco dei valori presenti nelle celle B1 dei vari fogli. Una alternativa è questa macro da copia/incollare in un modulo standard e lanciare all'occorrenza:
Public Sub m()
Dim sh As Worksheet
Dim shI As Worksheet
Dim lRiga As Long
lRiga = 1
Set shI = ThisWorkbook.Worksheets("Indice")
With shI
.Cells.Clear
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> "Indice" Then
.Range("A" & lRiga).Value = sh.Range("B1").Value
lRiga = lRiga + 1
End If
Next
End With
Set shI = Nothing
Set sh = Nothing
End Sub
In entrambi i casi elimino il contenuto del foglio Indice prima di iniziare a scrivere. Fai sapere, grazie.
--
La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.
--
Mauro Gamberini - Microsoft© MVP(Excel)