VBA Obțineți numele foaiei / Redenumiți foaia

Acest tutorial va acoperi interacțiunea cu numele foilor din VBA.

Obțineți numele foii

Numele foilor sunt stocate în Nume proprietatea Foi sau Fișe de lucru obiect. Numele foii este numele „filei” care este vizibil în partea de jos a Excel:

Obțineți numele ActiveSheet

Aceasta va afișa numele ActiveSheet într-o casetă de mesaj:

1 MsgBox ActiveSheet.Name

Obțineți numele foii după numărul de index

Aceasta va afișa primul nume de foaie de lucru într-o casetă de mesaj:

1 MsgBox Sheets (1) .Nume

Aceasta va afișa numele ultimei foi de lucru din registrul de lucru:

1 MsgBox Sheets (Sheets.Count) .Nume

Obțineți numele foii după numele codului

În Editorul VBA, există o opțiune pentru a schimba „numele de cod” al unei foi. Numele de cod nu este vizibil pentru utilizatorul Excel și poate fi văzut doar în Editorul VBA:

În VBA, când lucrați cu Foi de calcul, puteți face referire la numele obișnuit al filei:

1 Foi de calcul („TabName”). Activați

sau numele codului VBA:

1 CodeName.Activate

Este de dorit să faceți referire la numele de cod în cazul în care numele filei Sheet se schimbă vreodată. Dacă vă permiteți accesul utilizatorului Excel la schimbarea numelor de foi, ar trebui să faceți referire la numele de cod din codul dvs. VBA, astfel încât o nepotrivire a numelui filei Foaie să nu provoace o eroare. Numele codurilor de foi sunt discutate mai detaliat aici.

Pentru a obține numele foii folosind numele codului VBA, efectuați următoarele:

1 MsgBox CodeName.Name

Redenumiți foaia

Puteți redenumi Foi de calcul reglând Nume proprietate a Foi sau Fișe de lucru obiect.

Redenumiți ActiveSheet

1 ActiveSheet.Name = "NumeNou"

Redenumiți foaia după nume

1 Foi de calcul („Foaie veche”). Nume = „NumeNou”

Redenumiți foaia după numărul de index al foii

Aici folosim 1 pentru a redenumi prima foaie din registrul de lucru.

1 Foi de calcul (1) .Name = "NumeNou"

Redenumiți foaia după numele codului

Acest cod va redenumi o foaie folosind numele de cod VBA (discutat mai sus):

1 Component.Name = "NumeNou"

Verificați dacă numele foii există

Am creat o funcție pentru a testa dacă există deja o foaie cu un anumit nume.

123456789101112 'Testați dacă există o gamă pe o foaie.„Lăsați intervalul gol pentru a testa dacă există foaia„Intrări:'WhatSheet - Numele șirului foii (ex "Sheet1")'WhatRange (Opțional, implicit = "A1") - Numele șirului intervalului (ex "A1")Funcția RangeExists (WhatSheet As String, Optional ByVal WhatRange As String = "A1") As BooleanTest dim ca intervalLa eroare Reluați în continuareSet test = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0La eroare GoTo 0Funcția de sfârșit

Funcția va reveni ADEVĂRAT dacă există foaia sau FALS dacă nu există.

Utilizați funcția astfel:

123 Sub Test_SheetExists ()MsgBox RangeExists („setare”)Sfârșitul Sub

Copiați foaia și redenumiți

Acest exemplu este din articolul nostru despre Copierea foilor.

După copierea și lipirea unei foi, noua foaie creată devine ActiveSheet. Deci, pentru a redenumi o foaie copiată, pur și simplu utilizați ActiveSheet.

12345678 Sub CopySheetRename2 ()Foi de calcul („Foaie1”). Copiați după: = Foi de calcul (Foi de calcul).La eroare Reluați în continuareActiveSheet.Name = "LastSheet"La eroare GoTo 0Sfârșitul Sub

Notă: Am adăugat gestionarea erorilor pentru a evita erorile dacă numele foaiei există deja.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave