Ez az oktatóanyag kiterjed a munkalapok nevével való interakcióra a VBA -ban.
Töltse ki a lap nevét
A munkalapok nevei a Név tulajdona a Ágynemű vagy Feladatlapok tárgy. A munkalap neve az „al” név, amely az Excel alján látható:
Get ActiveSheet Name
Ez megjeleníti az ActiveSheet nevét egy üzenetmezőben:
1 | MsgBox ActiveSheet.Name |
A munkalap lekérése indexszám szerint
Ez megjeleníti az első munkalap nevét egy üzenetmezőben:
1 | MsgBox Sheets (1). Név |
Ez megjeleníti a munkafüzet utolsó munkalapjának nevét:
1 | MsgBox Sheets (Sheets.Count). Név |
A munkalap lekérése kódnév szerint
A VBA szerkesztőben lehetőség van a munkalap „kódnevének” megváltoztatására. A kódnév nem látható az Excel felhasználó számára, és csak a VBA szerkesztőben látható:
A VBA -ban a Táblázatokkal való munka során hivatkozhat a szokásos lap nevére:
1 | Táblázatok ("TabName"). Aktiválás |
vagy a VBA kód neve:
1 | Kódnév. Aktiválás |
Kívánatos a kódnév hivatkozása arra az esetre, ha a Lap lap neve valaha megváltozik. Ha engedélyezi az Excel felhasználói hozzáférését a változó lapnevekhez, hivatkozzon a kódnévre a VBA -kódjában, hogy a Lap lap nevének eltérése ne okozzon hibát. A lapkódneveket itt tárgyaljuk részletesebben.
A munkalap VBA kódnévvel történő lekéréséhez tegye a következőket:
1 | MsgBox CodeName.Name |
Lap átnevezése
A Táblázatok átnevezése a név tulajdona a Ágynemű vagy Feladatlapok tárgy.
ActiveSheet átnevezése
1 | ActiveSheet.Name = "Újnév" |
Nevezze át a lapot név szerint
1 | Táblázatok ("OldSheet"). Name = "NewName" |
Átnevezi a lapot a lap indexszáma szerint
Itt 1 -et használunk a munkafüzet első lapjának átnevezésére.
1 | Táblázatok (1) .Name = "NewName" |
Nevezze át a lapot kódnév szerint
Ez a kód átnevezi a lapot a VBA kódnevével (fentebb tárgyalt):
1 | Component.Name = "Újnév" |
Ellenőrizze, hogy létezik -e a lap neve
Létrehoztunk egy függvényt annak ellenőrzésére, hogy létezik -e már egy adott nevű lap.
123456789101112 | 'Ellenőrizze, hogy van -e tartomány a lapon.'Hagyja üresen a tartományt, hogy ellenőrizze, létezik -e lap'Bemenetek:'WhatSheet - A lap karakterlánc -neve (korábbi "Sheet1")'WhatRange (opcionális, alapértelmezett = "A1") - A tartomány karakterlánca (korábbi "A1")Funkciótartomány Létezik (WhatSheet mint karakterlánc, opcionális ByVal WhatRange as karakterlánc = "A1") logikai értékkéntDim teszt As RangeHiba esetén Folytassa a következőtTeszt beállítása = ActiveWorkbook.Sheets (WhatSheet). Range (WhatRange)RangeExists = Hibaszám = 0GoTo 0 hiba eseténVége funkció |
A függvény az IGAZ értéket adja vissza, ha a lap létezik, vagy hamis, ha nem.
Használja a függvényt így:
123 | Sub Test_SheetExists ()MsgBox RangeExists ("beállítás")End Sub |
Másolja a lapot és nevezze át
Ez a példa a Lapok másolása című cikkünkből származik.
A munkalap másolása és beillesztése után az újonnan létrehozott lapból ActiveSheet lesz. Tehát a másolt munkalap átnevezéséhez egyszerűen használja az ActiveSheet -et. Név:
12345678 | Sub CopySheetRename2 ()Táblázatok ("Sheet1"). Másolás után: = Sheets (Sheets.Count)Hiba esetén Folytassa a következőtActiveSheet.Name = "LastSheet"GoTo 0 hiba eseténEnd Sub |
Megjegyzés: Hibakezelést adtunk a hibák elkerülése érdekében, ha a munkalap neve már létezik.