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

Cum se face ca fila filei să fie egală cu valoarea celulei în Excel?

În unele cazuri, poate fi necesar să redenumiți o foaie de lucru pe baza unei valori specificate a celulei. În acest articol, vă vom arăta metodele de a face ca numele filei de foi să fie egal cu valoarea celulei în Excel.

Faceți numele filei de coală egal cu valoarea celulei cu codul VBA
Faceți ca numele filei de foi să fie egal cu valoarea celulei cu Kutools pentru Excel


Faceți numele filei de coală egal cu valoarea celulei cu codul VBA

Cu următorul cod VBA, puteți face ca numele filei de foi să fie egal cu valoarea celulei în mod automat.

1. Faceți clic dreapta pe fila de foaie pe care doriți să faceți numele foii egală cu valoarea celulei, apoi faceți clic pe Afișați codul din meniul cu clic dreapta. Vedeți captura de ecran:

2. Copiați și lipiți codul de mai jos în fereastra Cod, apoi apăsați Alt + Q simultan pentru a închide fereastra Microsoft Visual Basic pentru aplicații.

Cod VBA: faceți fila tabului egală cu valoarea celulei

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

notițe: În cod, A1 este celula care conține valoarea pe care trebuie să o folosiți ca nume de foaie. Îl puteți schimba după cum aveți nevoie.

De acum înainte, când valoarea din celula A1 s-a schimbat, numele filei de foaie va fi modificat la fel.


Faceți ca numele filei de foi să fie egal cu valoarea celulei cu Kutools pentru Excel

În această secțiune, vă prezentăm Redenumiți mai multe foi de lucru utilitatea Kutools pentru Excel. Cu acest utilitar, puteți redenumi cu ușurință foile de lucru cu o anumită valoare a celulei în Excel.

Înainte de a aplica Kutools pentru Excel, Vă rugăm să descărcați-l și instalați-l mai întâi.

1. clic Kutools Plus > Fisa de lucru > Redenumiți mai multe foi de lucru. Vedeți captura de ecran:

2. În Redenumiți mai multe foi de lucru caseta de dialog, trebuie să procedați după cum urmează.

1). Verificați numele fișei de lucru pe care doriți să le redenumiți în Foi de lucru casetă (puteți selecta o foaie sau mai multe foi).
2). Selectați Înlocuiți numele foii originale cutie în Redenumiți opțiunile secţiune.
3). Dacă doriți să redenumiți o foaie de lucru sau mai multe foi de lucru cu valoarea specificată a celulei, selectați Din gama specifică și selectați gama de celule pe care doriți să redenumiți foile pe baza.
4). Apasă pe OK buton. Vedeți captura de ecran:

Puteți vedea că foile de lucru selectate sunt redenumite imediat după valoarea intervalului specificat, așa cum se arată în imaginea de mai jos.

notițe:

1. Puteți utiliza Filtru funcție pentru a filtra cu ușurință foaia de lucru necesară dacă există o mulțime de foi de lucru.
2. Dacă doriți să redenumiți mai multe foi de lucru cu o anumită valoare a celulei în fiecare foaie. De exemplu, foaia 1 va fi egală cu valoarea celulei A1 și foaia 2 va fi, de asemenea, egală cu valoarea celulei A1. Vă rugăm să selectați foi de lucru în Foi de lucru , apoi selectați caseta Redenumiți foile de lucru cu o celulă specifică și specificați celula A1 în casetă.

3. Numele foii nu va fi modificat automat odată cu modificările valorii celulei.

  Dacă doriți să aveți o încercare gratuită (30-zi) a acestei utilitati, vă rugăm să faceți clic pentru a-l descărca, și apoi mergeți pentru a aplica operația conform pașilor de mai sus.


Faceți ca numele filei de foi să fie egal cu valoarea celulei cu Kutools pentru Excel


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (28)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am lipit acest lucru conform instrucțiunilor, dar nu a apărut în lista mea de macrocomenzi disponibile. Am încercat să îl rulez manual introducând numele Macro-ului. Când a încercat să ruleze Macro-ul, a apărut un mesaj de eroare „Argument nu este opțional”.

Subsol de lucrări private_Change (țintă ByVal ca rază de acțiune)
Dacă nu se intersectează (țintă, interval ("A1")) nu este nimic, atunci
ActiveSheet.Name = ActiveSheet.Range("A1")
Final, dacă
End Sub

A mai rulat cineva acest cod și a avut aceeași problemă?

Ca test, am rulat un cod mai de bază și a funcționat bine, astfel încât valoarea din „A1” nu cauzează problema. Când rulez codul de mai jos, pot vedea numele macrocomenzii „myTabName” în lista de macrocomenzi. Codul de mai sus nu apare și presupun că acest lucru este din cauza argumentului bug/lipsă.

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

Vă mulțumesc pentru ajutor, deoarece aș dori foarte mult să folosesc codul așa cum este destinat automatizării modificărilor numelui filelor pe baza valorii unei celule.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă Jason,
Codul funcționează bine în cazul meu. Vă rugăm să furnizați versiunea dvs. Office? Multumesc pentru comentariu.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Crystal,

Nu a funcționat nici la mine, s-ar putea să fie pentru că celula la care mă refer este o formulă?

Mulțumesc pentru răspuns
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna Mei,

Multumim pentru feedback-ul dvs. Problema a fost cauzată de formulă. Codul a fost modificat. Vă rugăm să încercați.

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
Acest comentariu a fost redus la minimum de moderatorul de pe site
Obțin acest cod să funcționeze, dar nu actualizează automat numele filei atunci când celula din care trage numele dacă face referire la o altă celulă (și celula respectivă se schimbă).


Adică schimb o celulă dintr-o listă principală, care schimbă textul celulei într-o anumită celulă din fiecare filă, la care codul face referire ca nume de filă, DAR fila nu își actualizează numele în mod corespunzător.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,
Următorul cod VBA vă poate rezolva problema. Vă mulțumim pentru comentariul dvs.1

Subsol de lucrări private_Change (țintă ByVal ca rază de acțiune)
Dim xRg As Range, xCell As Range
La data de eroare CV următoare
Dacă nu se intersectează (țintă, interval ("A1")) nu este nimic, atunci
ActiveSheet.Name = ActiveSheet.Range("A1")
Final, dacă
Application.EnableEvents = Fals
Set xRg = ActiveSheet.Range("A1").Precedente
Dacă nu xRg este nimic, atunci
Pentru fiecare xCell în xRg
ActiveSheet.Name = ActiveSheet.Range("A1")
Pagina Următoare →
Final, dacă
Application.EnableEvents = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Tot nu merge. Am aceeași problemă ca jJJ. cristal: Întregul cod este afișat în răspunsul dvs.?
Ultima linie afișată în comentariul dvs. este „Set xRg = ActiveSheet.Range(“A1”).Precedents”
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă JAS,
Vă rugăm să faceți clic pe butonul Citiți mai multe din partea dreaptă a comentariului pentru a afișa întregul comentariu.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mai am aceeasi problema.

Am A1 din noua foaie indicând o altă celulă într-o filă diferită. Se actualizează prima dată (când executați), dar apoi nu se modifică atunci când editați celula principală
Acest comentariu a fost redus la minimum de moderatorul de pe site
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Setați țintă = Interval ("A1")
Dacă țintă = "" Apoi ieșiți din sub
La eroare GoTo Badname
ActiveSheet.Name = Left(Target, 31)
Ieșiți din Sub
Nume gresit:
MsgBox „Vă rugăm să revizuiți intrarea din A1.” & Chr(13) _
& „Se pare că conține unul sau mai multe” & Chr(13) _
& „personaje ilegale”. & Chr(13)
Interval ("A1").Activare
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Problema este în continuare aceeași, se schimbă prima dată. când leg acea celulă la o altă foaie și o schimb, nu o schimbă automat
Acest comentariu a fost redus la minimum de moderatorul de pe site
Trebuie să folosesc acest cod, dar nu am introdus niciodată codul vba până acum. Orice îndrumare ar fi apreciată.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Schimb o celulă dintr-o listă principală, care modifică textul celulei într-o celulă specifică din fiecare filă, la care codul face referire ca nume de filă, DAR fila nu își actualizează numele în mod corespunzător.

---- nu este de lucru
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am primit întregul cod și a funcționat. Mulțumesc foarte mult pentru ajutor!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă JAS,
Mă bucur că am putut ajuta.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Puteți utiliza mai degrabă o macrocomandă simplă



Sub Macro3()
Dim index ca întreg
Pentru indice = 1 până la 18

Sheets(index).Nume = Sheets(index).Range("A2").Value

Următorul index



End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
O zi buna,
Vă mulțumim pentru partajarea.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acesta este exact ceea ce am nevoie, dar am nevoie de fila pentru a recrea o dată și nu funcționează... Presupun că acest lucru are legătură cu modul în care Excel lucrează data și ora, poate cineva sugera o soluție?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi Nick,
Excel nu acceptă tastarea numelui foii care conține caractere speciale. Dacă data tastată conține caracterul /, nu vă va permite să creați numele foii cu data respectivă.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum pot face referire la două celule. de exemplu numele și numărul de identificare?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Folosesc codul dvs. exact de mai sus pentru codul VBA care funcționează perfect pentru ceea ce am nevoie. Cu toate acestea, am o grămadă de macrocomenzi pe o foaie numită Job Template, care este copiată și reutilizată pentru fiecare nouă lucrare. Mi-am proiectat toate macrocomenzile pe baza unei noi versiuni copiate numită Job Template (2). Odată ce numele foii este schimbat cu noul nume de lucrare, macrocomenzile nu mai funcționează și trebuie să o facă manual. Aș dori să pot folosi oricare dintre butoanele mele Macro în orice moment, în loc să le folosesc doar înainte de a schimba numele foii.

Există o modalitate ca codul VBA să se refere întotdeauna la numele foii înainte de a rula restul funcțiilor de cod?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Care este cel mai mare număr de foi de lucru, care pot fi schimbate numele prin Kutools Plus? pentru că Excel îmi permite doar 17 nume la modificări și atât
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru a funcționat perfect pentru prima mea foaie de lucru, dar nu pentru a doua sau a treia etc. (am aproximativ 20 de foi de lucru care au nevoie de această funcție). Am pierdut ceva?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, A Owen,
Acest cod funcționează doar pentru o singură foaie de lucru pe dată. Îmi pare rău pentru neplăcerile create.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Crystal,

Când inserez codul dvs., apare eroarea „Tipul definit de utilizator nu este definit”?

Multumesc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Tom J,
Asigurați-vă că aceste trei opțiuni sunt bifate în caseta de dialog Referințe - VBAProject.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/error.png
Acest comentariu a fost redus la minimum de moderatorul de pe site
a lucrat frumos!
Acest comentariu a fost redus la minimum de moderatorul de pe site
bonjour,
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
merci
Nu există comentarii postate aici încă

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL