Copiare stessa cella da più fogli su un indice

Anonimo
2011-01-12T15:47:27+00:00

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 !!!!

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2011-01-12T16:11:16+00:00

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)

http://www.maurogsc.eu/

La risposta è stata utile?

0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2011-01-12T17:32:49+00:00

    Fantastico !!!

    Ovviamente funziona ;-)

    ho risparmiato un bel po' di tempo!

    Grazie mille !!!

    La risposta è stata utile?

    0 commenti Nessun commento