Note: The other languages of the website are Google-translated. Back to English

Come rendere il nome della scheda del foglio uguale al valore della cella in Excel?

In alcuni casi, potrebbe essere necessario rinominare un foglio di lavoro in base a un valore di cella specificato. In questo articolo, ti mostreremo i metodi per rendere il nome della scheda del foglio uguale al valore della cella in Excel.

Rendi il nome della scheda del foglio uguale al valore della cella con il codice VBA
Rendi il nome della scheda del foglio uguale al valore della cella con Kutools per Excel


Rendi il nome della scheda del foglio uguale al valore della cella con il codice VBA

Con il seguente codice VBA, puoi rendere automaticamente il nome della scheda del foglio uguale al valore della cella.

1. Fare clic con il pulsante destro del mouse sulla linguetta del foglio a cui si desidera rendere il nome del foglio uguale al valore della cella, quindi fare clic Visualizza codice dal menu di scelta rapida. Vedi screenshot:

2. Copiare e incollare sotto il codice nella finestra del codice, quindi premere altro + Q tasti contemporaneamente per chiudere la finestra di Microsoft Visual Basic, Applications Edition.

Codice VBA: rende la scheda del foglio uguale al valore della cella

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20230130
    On Error Resume Next
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    ElseIf Not Intersect(Target.Dependents, Range("A1")) Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    End If
End Sub

Note:: Nel codice, A1 è la cella che contiene il valore che devi usare come nome del foglio. Puoi cambiarlo quando ti serve.

D'ora in poi, quando il valore nella cella A1 è cambiato, anche il nome della scheda del foglio verrà modificato allo stesso modo.


Rendi il nome della scheda del foglio uguale al valore della cella con Kutools per Excel

In questa sezione, ti presentiamo il Rinomina più fogli di lavoro utilità di Kutools for Excel. Con questa utility, puoi facilmente rinominare i fogli di lavoro con un determinato valore di cella in Excel.

Prima di applicare Kutools for Excel, Per favore scaricalo e installalo prima.

1. Clic Kutools Plus > Foglio di lavoro > Rinomina più fogli di lavoro. Vedi screenshot:

2. Nel Rinomina più fogli di lavoro finestra di dialogo, è necessario eseguire le seguenti operazioni.

1). Controlla i nomi dei fogli di lavoro che desideri rinominare nel file Fogli di lavoro casella (è possibile selezionare un foglio o più fogli).
2). Selezionare Sostituisci il nome del foglio originale casella nella Rinomina opzioni .
3). Se si desidera rinominare un foglio di lavoro o più fogli di lavoro con il valore della cella specificato, selezionare il file Dalla gamma specifica opzione e selezionare l'intervallo di celle su cui si desidera rinominare i fogli in base a.
4). Clicca il OK pulsante. Vedi screenshot:

Puoi vedere i fogli di lavoro selezionati rinominati immediatamente in base al valore dell'intervallo specificato, come mostrato nell'immagine sottostante.

Note:

1. Puoi usare il file Filtro funzione per filtrare facilmente il foglio di lavoro necessario se esistono molti fogli di lavoro.
2. Se si desidera rinominare più fogli di lavoro con un determinato valore di cella in ogni foglio. Ad esempio, foglio1 sarà uguale al valore della sua cella A1 e anche foglio2 sarà uguale al valore della sua cella A1. Seleziona i fogli di lavoro nel file Fogli di lavoro casella, quindi selezionare il file Rinomina i fogli di lavoro con una cella specifica opzione e specificare la cella A1 nella casella.

3. Il nome del foglio non verrà modificato automaticamente con le modifiche del valore della cella.

  Se vuoi avere una prova gratuita (30-day) di questa utilità, fare clic per scaricarlo, quindi andare ad applicare l'operazione secondo i passaggi precedenti.


Rendi il nome della scheda del foglio uguale al valore della cella con Kutools per Excel


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (28)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
L'ho incollato come indicato ma non è apparso nel mio elenco di macro disponibili. Ho provato a eseguirlo manualmente digitando il nome della macro. Quando ha tentato di eseguire la macro, è apparso un messaggio di errore "Argument no optional".

Private Sub Worksheet_Change (ByVal Target As Range)
If Not Intersect(Target, Range("A1")) non è niente allora
ActiveSheet.Name = ActiveSheet.Range ("A1")
End If
End Sub

Qualcun altro ha eseguito questo codice e ha avuto lo stesso problema?

Come test ho eseguito un codice più semplice e ha funzionato bene, quindi il valore in "A1" non causa il problema. Quando eseguo il codice seguente, posso vedere il nome della macro "myTabName" nell'elenco delle macro. Il codice sopra non viene visualizzato e suppongo che ciò sia dovuto all'argomento bug/mancante.

SottomioNomeScheda()
ActiveSheet.Name = ActiveSheet.Range ("A1")
End Sub

Grazie per il tuo aiuto perché mi piacerebbe molto usare il codice come previsto per automatizzare le modifiche al nome della scheda in base al valore di una cella..
Questo commento è stato fatto dal moderatore sul sito
Caro Giasone,
Il codice funziona bene nel mio caso. Potresti fornire la tua versione di Office? Grazie per il tuo commento.
Questo commento è stato fatto dal moderatore sul sito
Ciao Cristallo,

Non ha funzionato anche per me, potrebbe essere perché la cella a cui mi riferisco è una formula?

Grazie per aver risposto
Questo commento è stato fatto dal moderatore sul sito
Ciao Mei,

Grazie per il tuo feedback. Il problema è stato causato dalla formula. Il codice è stato modificato. Si prega di fare un tentativo.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20230130
    On Error Resume Next
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    ElseIf Not Intersect(Target.Dependents, Range("A1")) Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    End If
End Sub
Questo commento è stato fatto dal moderatore sul sito
Sto facendo funzionare questo codice, ma non aggiorna automaticamente il nome della scheda quando la cella da cui estrae il nome se fa riferimento a un'altra cella (e quella cella cambia).


Cioè cambio una cella in un elenco principale, che cambia il testo della cella in una cella specifica su ciascuna scheda, a cui il codice fa riferimento come nome della scheda, MA la scheda non aggiorna il suo nome in modo corrispondente.
Questo commento è stato fatto dal moderatore sul sito
Buona giornata,
Il seguente codice VBA può risolvere il tuo problema. Grazie per il tuo commento1

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg come intervallo, xCell come intervallo
On Error Resume Next
If Not Intersect(Target, Range("A1")) non è niente allora
ActiveSheet.Name = ActiveSheet.Range ("A1")
End If
Application.EnableEvents = False
Imposta xRg = ActiveSheet.Range ("A1"). Precedenti
Se non xRg non è niente allora
Per ogni xCell In xRg
ActiveSheet.Name = ActiveSheet.Range ("A1")
Successiva
End If
Application.EnableEvents = True
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ancora non funziona. Ho lo stesso problema di jJJ. cristallo: L'intero codice è mostrato nella tua risposta?
L'ultima riga mostrata nel tuo commento è "Set xRg = ActiveSheet.Range("A1").Precedents"
Questo commento è stato fatto dal moderatore sul sito
Caro JAS,
Fare clic sul pulsante Leggi di più sul lato destro del commento per visualizzare l'intero commento.
Questo commento è stato fatto dal moderatore sul sito
Ho ancora lo stesso problema.

Ho A1 del nuovo foglio puntato su un'altra cella in una scheda diversa. Si aggiorna la prima volta (durante l'esecuzione) ma poi non cambia durante la modifica della cella master
Questo commento è stato fatto dal moderatore sul sito
Private Sub Worksheet_SelectionChange (ByVal Target As Excel.Range)
Imposta obiettivo = Intervallo ("A1")
Se Destinazione = "" Quindi Esci da Sub
In caso di errore Vai a nome errato
ActiveSheet.Name = Left(Destinazione, 31)
Exit Sub
Nome brutto:
MsgBox "Si prega di rivedere la voce in A1." & Chr(13) _
& "Sembra contenere uno o più " & Chr(13) _
& "personaggi illegali". & Chr(13)
Intervallo ("A1") Attivare
End Sub
Questo commento è stato fatto dal moderatore sul sito
Il problema è sempre lo stesso, cambia la prima volta. quando collego quella cella a un altro foglio e lo cambio, non lo cambia automaticamente
Questo commento è stato fatto dal moderatore sul sito
Devo usare questo codice ma non ho mai inserito il codice vba prima. Qualsiasi guida sarebbe apprezzata.
Questo commento è stato fatto dal moderatore sul sito
Cambio una cella in un elenco principale, che cambia il testo della cella in una cella specifica su ciascuna scheda, a cui il codice fa riferimento come nome della scheda, MA la scheda non aggiorna il suo nome in modo corrispondente.

---- non funziona
Questo commento è stato fatto dal moderatore sul sito
Ho ottenuto l'intero codice e ha funzionato. Grazie mille per il vostro aiuto!
Questo commento è stato fatto dal moderatore sul sito
Caro JAS,
Sono felice di aver potuto aiutare.
Questo commento è stato fatto dal moderatore sul sito
Puoi piuttosto usare una semplice macro



Sub Macro3 ()
Indice debole come intero
Per indice = da 1 a 18

Fogli(indice).Nome = Fogli(indice).Intervallo("A2").Valore

Prossimo indice



End Sub
Questo commento è stato fatto dal moderatore sul sito
Buon Giorno,
Grazie per aver condiviso.
Questo commento è stato fatto dal moderatore sul sito
Questo è esattamente ciò di cui ho bisogno, ma ho bisogno della scheda per ricreare una data e non funziona ... Presumo che questo abbia a che fare con il modo in cui Excel calcola la data e l'ora, qualcuno può suggerire una soluzione alternativa?
Questo commento è stato fatto dal moderatore sul sito
Ciao Nick,
Excel non supporta la digitazione del nome del foglio contenente caratteri speciali. Se la data digitata contiene il carattere /, non ti permetterà di creare il nome del foglio con quella data.
Questo commento è stato fatto dal moderatore sul sito
Come posso fare riferimento a due celle. ad esempio nome e numero di identificazione?
Questo commento è stato fatto dal moderatore sul sito
Sto usando il tuo codice esatto di cui sopra per il codice VBA che funziona perfettamente per quello di cui ho bisogno. Tuttavia, ho un sacco di macro su un foglio chiamato Job Template che viene copiato e riutilizzato per ogni nuovo lavoro. Ho progettato tutte le mie macro sulla base di una nuova versione copiata chiamata Job Template (2). Una volta che il nome del foglio è stato modificato con il nuovo nome del lavoro, le macro non funzionano più e devono farlo manualmente. Vorrei essere in grado di utilizzare uno qualsiasi dei miei pulsanti Macro in qualsiasi momento invece di usarli solo prima di modificare il nome del foglio.

C'è un modo per il codice VBA di fare sempre riferimento al nome del foglio prima di eseguire il resto delle funzioni del codice?
Questo commento è stato fatto dal moderatore sul sito
Qual è il numero più alto di fogli di lavoro, di cui è possibile modificare i nomi tramite Kutools Plus? perché excel mi permette di cambiare solo 17 nomi, e basta
Questo commento è stato fatto dal moderatore sul sito
Questo ha funzionato perfettamente per il mio primo foglio di lavoro, ma non per il secondo o il terzo ecc. (Ho fino a circa 20 fogli di lavoro che necessitano tutti di questa funzione). Mi sto perdendo qualcosa?
Questo commento è stato fatto dal moderatore sul sito
Ciao A Owen,
Questo codice funziona solo per un foglio di lavoro alla volta. Ci dispiace per l'inconvenienza.
Questo commento è stato fatto dal moderatore sul sito
Ciao Cristallo,

Quando incollo il codice, viene visualizzato l'errore "tipo definito dall'utente non definito"?

Grazie.
Questo commento è stato fatto dal moderatore sul sito
Ciao Tom J,
Assicurati che queste tre opzioni siano selezionate nella finestra di dialogo Riferimenti - Progetto VBA.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/error.png
Questo commento è stato fatto dal moderatore sul sito
ha funzionato magnificamente!
Questo commento è stato fatto dal moderatore sul sito
Buongiorno,
que voulez-vous dire par appuyer autre autre+q dans le code vba après avoir collé.
J'ai simplement fermé la page après avoir collé et ça ne marche pas
grazie
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL