Kas olete kunagi proovinud tundmatut (ja keerulist) Exceli töövihikut mõtestada? Kasulik oleks näha kaarti, mis annab ülevaate, millised lahtrid sisaldavad konstante ja millised väärtusi.
Saate luua VBA utiliidi, mis loob aktiivse töölehe kaardi. Kaart luuakse uuel töölehel ja see koosneb värvikoodiga lahtritest, mis võimaldavad teil kiiresti tuvastada väärtused, teksti ja valemid.
Allpool näete sellise kaardi näidet. Teksti sisaldavad lahtrid on rohelised, arvväärtust sisaldavad lahtrid on kollased ja valemeid sisaldavad lahtrid on punased. Selline kaart aitab teil võimalikke vigu märgata. Näiteks kui üks valemiploki valem on väärtusega üle kirjutatud, paistab see lahter kaardivaates silma (nagu näites lahtris Q11).

QuickMap VBA kood
VBA protseduur, mis loob töölehe kaardi, on loetletud allpool. Kui soovite seda utiliiti kasutada, kopeerige kood ja kleepige see VBA moodulisse. Seejärel aktiveerige tööleht ja käivitage QuickMapi alamprogramm.
Sub QuickMap()
Dim FormulaCells as Variant
Dim TextCells as Variant
Dim NumberCells as Variant
Hämar ala vahemikuna
Kui TypeName(ActiveSheet) <> “Worksheet” Seejärel välju Sub
' Looge lahtri alamhulkade jaoks objektimuutujad
Vea korral Jätka järgmisena
Set FormulaCells = Vahemik(“A1”). SpecialCells _
(xlValemid, xlNumbers + xlTextValues + xlLogical)
Set TextCells = Vahemik(“A1”). SpecialCells(xlConstants, xlTextValues)
Määra NumberCells = vahemik(“A1”). SpecialCells(xlConstants, xlNumbers)
Viga GoTo 0 korral
Lisage uus leht ja vormindage see
Lehed. Lisa
Koos rakkudega
.Veerulaius = 2
.Font.Size = 8
.HorizontalAlignment = xlCenter
Lõpeta
Application.ScreenUpdating = Vale
' Tehke valemi lahtrid
Kui ei oleTühi (FormulaCells) Siis
FormulaCells.Areas iga ala jaoks
Koos ActiveSheet.Range(Piirkond.Aadress)
.Value = "F"
.Interior.ColorIndex = 3
Lõpeta
Järgmine piirkond
Lõpeta Kui
' Tehke tekstilahtrid
Kui ei oleTühi(tekstilahtrid), siis
Iga ala jaoks jaotises TextCells.Areas
Koos ActiveSheet.Range(Piirkond.Aadress)
.Value = "T"
.Interior.ColorIndex = 4
Lõpeta
Järgmine piirkond
Lõpeta Kui
' Tehke numbrilised lahtrid
Kui ei oleTühi(NumberCells) Siis
Iga ala jaoks NumberCells.Areas
Koos ActiveSheet.Range(Piirkond.Aadress)
.Value = "N"
.Interior.ColorIndex = 6
Lõpeta
Järgmine piirkond
Lõpeta Kui
Lõpeta alam
Kuidas see töötab
Protseduur kontrollib esmalt, kas aktiivne leht on tööleht. Kui ei, siis on kiire väljumine ilma edasiste toiminguteta. Kui aktiivne leht on tööleht, loob protseduur eri lahtritüüpide tuvastamiseks meetodi SpecialCells abil kolm objektimuutujat. SpecialCellsi meetod on väga kasulik. Kui te pole sellega tuttav, vaadake seda Exceli veebiabifailist. Pange tähele funktsiooni On Error Resume Next kasutamist. Selle eesmärk on vältida viga, mis ilmneb siis, kui ükski lahter ei kvalifitseeru – näiteks kui töölehel pole valemeid.
Järgmisena lisab protseduur uue töölehe, vähendab lahtri laiust ja seab horisontaalse joonduse keskele. See samm on kosmeetiline. Seejärel lülitab alamseade ekraani värskendamise välja, et asju pisut kiirendada.
Järgmised kolm koodiplokki töötlevad rakke. Kui ükski lahter ei kvalifitseeru, on objekti muutuja tühi, nii et alam testib seda. Seejärel liigub rutiin läbi iga objekti vahemiku ala ja vormindab lahtri. Saate seda alamprogrammi osa hõlpsasti kohandada erineva vormingu rakendamiseks.
Selle utiliidi palju keerukama versiooni saamiseks vaadake lisandmoodulit Power Utility Pak .