Šī apmācība aptvers mijiedarbību ar lapu nosaukumiem VBA.
Iegūstiet lapas nosaukumu
Lapu nosaukumi tiek saglabāti mapē Vārds īpašums Loksnes vai Darba lapas objekts. Lapas nosaukums ir cilnes nosaukums, kas redzams Excel apakšā:
Iegūstiet ActiveSheet nosaukumu
Ziņojumu lodziņā tiks parādīts ActiveSheet nosaukums:
1 | MsgBox ActiveSheet.Name |
Iegūstiet lapas nosaukumu pēc indeksa numura
Ziņojumu lodziņā tiks parādīts pirmās darblapas nosaukums:
1 | MsgBox Sheets (1). Nosaukums |
Tas parādīs darbgrāmatas pēdējās darblapas nosaukumu:
1 | MsgBox Sheets (Sheets.Count). Nosaukums |
Iegūstiet lapas nosaukumu pēc koda nosaukuma
VBA redaktorā ir iespēja mainīt lapas “koda nosaukumu”. Koda nosaukums nav redzams Excel lietotājam, un to var redzēt tikai VBA redaktorā:
VBA, strādājot ar izklājlapām, varat atsaukties uz parasto cilnes nosaukumu:
1 | Izklājlapas ("TabName"). Aktivizēt |
vai VBA koda nosaukums:
1 | Koda nosaukums. Aktivizēt |
Atsauce uz koda nosaukumu ir vēlama, ja cilnes Lapas nosaukums kādreiz mainās. Ja atļaujat Excel lietotājam piekļūt mainīgajiem lapu nosaukumiem, savā VBA kodā ir jānorāda koda nosaukums, lai cilnes Izklājlapas nosaukuma neatbilstība neradītu kļūdu. Lapu kodu nosaukumi šeit ir apskatīti sīkāk.
Lai iegūtu lapas nosaukumu, izmantojot VBA koda nosaukumu, rīkojieties šādi:
1 | MsgBox koda nosaukums. Nosaukums |
Pārdēvēt lapu
Izklājlapas var pārdēvēt, pielāgojot vārds īpašums Loksnes vai Darba lapas objekts.
Pārdēvēt ActiveSheet
1 | ActiveSheet.Name = "JaunsNosaukums" |
Pārdēvēt lapu pēc nosaukuma
1 | Izklājlapas ("OldSheet"). Name = "NewName" |
Pārdēvēt lapu pēc lapas indeksa numura
Šeit mēs izmantojam 1, lai pārdēvētu pirmo darbgrāmatas lapu.
1 | Izklājlapas (1) .Name = "NewName" |
Pārdēvēt lapu pēc koda nosaukuma
Šis kods pārdēvēs lapu, izmantojot tā VBA koda nosaukumu (apspriests iepriekš):
1 | Component.Name = "JaunsNosaukums" |
Pārbaudiet, vai lapas nosaukums pastāv
Mēs izveidojām funkciju, lai pārbaudītu, vai lapa ar noteiktu nosaukumu jau pastāv.
123456789101112 | “Pārbaudiet, vai lapā ir diapazons.'Atstājiet diapazonu tukšu, lai pārbaudītu, vai lapa pastāv'Ieejas:'WhatSheet - lapas virknes nosaukums (ex "Sheet1")'WhatRange (pēc izvēles, noklusējums = "A1") - diapazona virknes nosaukums (ex "A1")Funkciju diapazons Pastāv (WhatSheet kā virkne, pēc izvēles ByVal WhatRange As String = "A1") kā BūlaDim tests kā diapazonsPar kļūdu Atsākt nākamoIestatīt testu = ActiveWorkbook.Sheets (WhatSheet). Range (WhatRange)RangeExists = Kļūdas numurs = 0Kļūda GoTo 0Beigu funkcija |
Funkcija atgriezīs TRUE, ja lapa pastāv, vai FALSE, ja tā nav.
Izmantojiet funkciju šādi:
123 | Sub Test_SheetExists ()MsgBox RangeExists ("iestatīšana")Beigu apakš |
Kopēt lapu un pārdēvēt
Šis piemērs ir no mūsu raksta par lapu kopēšanu.
Pēc lapas kopēšanas un ielīmēšanas jaunizveidotā lapa kļūst par ActiveSheet. Tātad, lai pārdēvētu kopēto lapu, vienkārši izmantojiet ActiveSheet. Nosaukums:
12345678 | Sub CopySheetRename2 ()Izklājlapas ("Sheet1"). Kopēt pēc: = Sheets (Sheets.Count)Par kļūdu Atsākt nākamoActiveSheet.Name = "Pēdējā lapa"Kļūda GoTo 0Beigu apakš |
Piezīme. Mēs pievienojām kļūdu apstrādi, lai izvairītos no kļūdām, ja lapas nosaukums jau pastāv.