Condividi tramite

MODIFICA DEL CONTENUTO DI UNA CELLA IN PIU' FILES DIVERSI

Anonimo
2014-11-04T16:31:34+00:00

Buongiorno,

Ho una serie di files contenenti diversi fogli ciascuno, la cui formattazione è uguale (fogli chiamati allo stesso modo, password di protezione identica),

Domanda:

Esiste un modo per cambiare il contenuto di una cella  (per esempio la cella "A100" all'interno del "FoglioN)" in tutti i files contemporaneamente? Il contenuto n da inserire è uguale per tutte le schede, per esempio il nome "Pippo". In sostanza ho una serie di file che contengono tutti il "FoglioN" ove nella cella "A100" c'e' scritto "Pluto", vorrei cambiare il nome su tutti i files senza doverli aprire uno ad uno.

Grazie

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
  1. Anonimo
    2014-11-04T17:00:41+00:00

    Buongiorno,

    Ho una serie di files contenenti diversi fogli ciascuno, la cui formattazione è uguale (fogli chiamati allo stesso modo, password di protezione identica),

    Domanda:

    Esiste un modo per cambiare il contenuto di una cella  (per esempio la cella "A100" all'interno del "FoglioN)" in tutti i files contemporaneamente? Il contenuto n da inserire è uguale per tutte le schede, per esempio il nome "Pippo". In sostanza ho una serie di file che contengono tutti il "FoglioN" ove nella cella "A100" c'e' scritto "Pluto", vorrei cambiare il nome su tutti i files senza doverli aprire uno ad uno.

    Grazie

    I file con i fogli sono tutti nella stessa cartella? Se sì, crea un nuovo file di Excel e salvalo come Test.xlsm all'interno della Directory.

    Quindi copia/incolla questo in un modulo standard:

    Public Sub m()

        'dichiaro le variabili

        Dim wk As Workbook

        Dim sh As Worksheet

        Dim sPath As String

        Dim sFileName As String

        'specifico la path della Directory nella

        'quale si trovano i file

        sPath = ThisWorkbook.Path & ""

        'specifico il tipo di file da importare;

        'in questo caso tutti i file di Excel

        sFileName = Dir(sPath & "*.xls*")

        'disabilito l'aggiornamento del monitor

        Application.ScreenUpdating = False

        'ciclo la Directory

        Do While (Len(sFileName) > 0)

            On Error Resume Next

            'se il file è Test.xlsm, quello che contiene

            'il codice

            If sFileName <> "Test.xlsm" Then

                'metto un riferimento via via ai vari

                'file della Directory e apro il file

                Set wk = Workbooks.Open(Filename:=sPath _

                    & sFileName)

                'metto un riferimento al foglio con la cella

                'da modificare

                Set sh = wk.Worksheets("Prova")

                With sh

                    .Range("M1").Value = "Pippo"

                End With

                Application.CutCopyMode = False

                'salvo e chiudo il file nel quale ho cambiato i dati

                wk.Save

                wk.Close

                'set a Nothing delle variabili oggetto

                Set sh = Nothing

                Set wk = Nothing

            End If

            sFileName = Dir

        Loop

        'riabilito l'aggiornamento del monitor

        Application.ScreenUpdating = True

    End Sub

    Lancia la macro. L'esempio scrive Pippo in tutte le celle M1 del foglio Prova che si trova in tutti i file.

    Modifica le parti in grassetto con il tuo testo e i tuoi riferimenti a cella e foglio.

    Se non hai mai utilizzato il vb di Excel, vedi qui:

    3 persone hanno trovato utile questa risposta.
    0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-11-05T06:45:01+00:00

    Mauro sei un genio!

    ;-)

    Ciao e alla prossima.

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2014-11-04T16:59:48+00:00

    Ciao Raimondo,

    Ho una serie di files contenenti diversi fogli ciascuno, la cui formattazione è uguale (fogli chiamati allo stesso modo, password di protezione identica), 

    Domanda:

    Esiste un modo per cambiare il contenuto di una cella  (per esempio la cella "A100" all'interno del "FoglioN)" in tutti i files contemporaneamente? Il contenuto n da inserire è uguale per tutte le schede, per esempio il nome "Pippo". In sostanza ho una serie di file che contengono tutti il "FoglioN" ove nella cella "A100" c'e' scritto "Pluto", vorrei cambiare il nome su tutti i files senza doverli aprire uno ad uno.

    Non credo che si possa cambiare il valore delle celle A100 senza aprire i file. Tuttavia, sarebbe facile fornire codice per eseguire questo senza visualizzare i file. 

    Tuttavia, se questo è un compito che può essere ripetuto più volte, considera di sostituire il valore delle celle A100 con una formula che fa riferimento a una cella in un singolo file: in questo modo, sarebbe possibile aggiornare tutti i file modificando il valore della cella a cui si riferiscono le formule.

    ===

    Regards,

    Norman

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  3. Anonimo
    2014-11-04T18:04:32+00:00

    Mauro sei un genio!

    0 commenti Nessun commento