Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
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: