Excel Macro per rinominare lo stesso file tante volte quante sono le le righe presenti in un altro file

Anonimo
2024-03-26T10:14:12+00:00

Buongiorno,

  1. ho un file "Informazioni.xlsx" contenente, nel "Foglio1", una lista di nomi -->

Cella A1: Nome1

Cella A2: Nome2

Cella A3: Nome3

......

Cella A100: Nome100

  1. Devo creare, un nuovo file excel per ogni nome.

Nome1.xlsx

Nome2.xlsx

Nome3.xlsx

......

Nome100.xlsx

  1. Ogni nuovo file excel, deve avere all'interno tutti gli sheet (comprese le formule presenti nelle varie celle) di un ulteriore file ("Base.xlsx")
  2. nella cella del C7 dello sheet1 di ogni nuovo file, deve essere riportato il nome del file.

Nome1.xlsx --> Sheet1 - Cella C7 --> Nome1

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

3 risposte

Ordina per: Più utili
  1. Anonimo
    2024-03-26T12:57:22+00:00

    ciao provare questi, Sub RenameFiles() Dim xDir come stringa Dim xFile come stringa Dim xRow fino a lungo

    ' Seleziona la cartella contenente i tuoi file Con Application.FileDialog(msoFileDialogFolderPicker) . AllowMultiSelect = False Se. Mostra = -1 Allora xDir = . SelectedItems(1) xFile = Dir(xDir & Application.PathSeparator & "*") Eseguire fino a xFile = "" xRow = 0 In caso di errore Riprendi successivo xRow = Application.Match(xFile, Range("A:A"), 0) Se xRow > 0 allora Nome xDir & Application.PathSeparator & xFile As _ xDir & Application.PathSeparator & Cells(xRow, "B"). Valore Fine se xFile = Dir Ciclo Fine se Termina con Fine sottomarino

    o:

    Sub RenameFiles()

    Dim srcPath come stringa Dim destPath come stringa Dim srcFile come stringa Dim destFile As String Dim wsSource come foglio di lavoro Dim lastRow As Long Dim i Finché

    ' Impostare i percorsi di origine e di destinazione srcPath = "C:\SourcePath" ' Aggiorna il percorso di origine destPath = "C:\DestinationPath" ' Aggiorna il percorso di destinazione

    ' Impostare il foglio di lavoro di origine Imposta wsSource = ThisWorkbook.Sheets("Foglio1") ' Aggiorna il nome del foglio se necessario

    ' Trova l'ultima riga con i dati nel foglio di lavoro di origine lastRow = wsSource.Cells(wsSource.Rows.Count, "A"). Fine(xlUp). Fila

    ' Scorrere ogni riga del foglio di lavoro di origine Per i = 1 Per lastRow ' Ottenere il nome del file di origine dalla colonna A srcFile = wsSource.Cells(i, 1). Valore

    ' Ottenere il nome del file di destinazione dalla colonna B destFile = wsSource.Cells(i, 2). Valore

    ' Rinomina il file Nome srcPath & srcFile As destPath & destFile Avanti i

    ' Informare l'utente che il processo di ridenominazione è stato completato MsgBox "File rinominati con successo!", vbInformation

    Fine sottomarino

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2024-03-26T12:54:57+00:00

    Ciao,

    grazie mille!!! Ma mi da errore a "Dim i until"...

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2024-03-26T10:51:03+00:00

    Ciao, grazie per avermi contattato. Mi chiamo Deeksha e sono un utente Microsoft come te e cercherò di aiutarti nel miglior modo possibile oggi.

    Macro VBA di Excel che rinomina un file più volte in base ai nomi elencati in un altro file. Apri l'editor VBA: Premere ALT + F11 per aprire l'editor di Visual Basic, Applications Edition (VBA). Fare clic su Inserisci > modulo per creare un nuovo modulo nella cartella di lavoro. Copia e incolla il seguente codice VBA nel modulo: Sub RenameFilesBasedOnList() Dim wsSource come foglio di lavoro Dim wsTarget come foglio di lavoro Dim fso come oggetto Dim folderPath come stringa Dim newName come stringa Dim i Finché

    ' Imposta il foglio di lavoro di origine (dove si trova l'elenco dei nomi) Imposta wsSource = ThisWorkbook.Sheets("Foglio1")

    ' Imposta il percorso della cartella di destinazione (dove si trovano i file) folderPath = "C:\YourFolderPath" ' Aggiorna con il percorso effettivo della cartella

    ' Creare un oggetto FileSystemObject Set fso = CreateObject("Scripting.FileSystemObject")

    ' Scorrere ogni riga del foglio di lavoro di origine Per i = 2 A wsSource.Cells(Rows.Count, 1). Fine(xlUp). Fila ' Ottenere il nuovo nome dal foglio di lavoro di origine newName = wsSource.Cells(i, 1). Valore

    ' Rinomina il file nella cartella di destinazione UST. MoveFile folderPath & "Informazioni.xlsx", folderPath & newName & ".xlsx" Avanti i

    ' Pulizia Imposta fso = Niente Fine sottomarino

    Aggiorna il percorso della cartella: Sostituisci "C:\YourFolderPath" con il percorso effettivo della cartella in cui si trovano i file. Eseguire la macro: Chiudere l'editor VBA ed eseguire la macro RenameFilesBasedOnList da Excel.

    Prova questi passaggi e, si spera, risolve il tuo problema. Nel caso in cui tu abbia bisogno di ulteriore aiuto o assistenza, faccelo sapere. È inoltre possibile contattare il supporto tecnico Microsoft se il problema persiste.

    Migliori saluti Diksha

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    La risposta è stata utile?

    0 commenti Nessun commento