Ste že kdaj poskušali razbrati neznan (in zapleten) Excelov delovni zvezek? Koristno bi bilo videti zemljevid, ki ponuja pregled, katere celice vsebujejo konstante in katere celice vsebujejo vrednosti.
Ustvarite lahko pripomoček VBA, ki ustvari zemljevid aktivnega delovnega lista. Zemljevid je ustvarjen na novem delovnem listu in je sestavljen iz barvno kodiranih celic, ki vam omogočajo hitro prepoznavanje vrednosti, besedila in formul.
Spodaj vidite primer takega zemljevida. Celice, ki vsebujejo besedilo, so zelene, tiste, ki vsebujejo številsko vrednost, so rumene, celice, ki vsebujejo formule, pa rdeče. Tak zemljevid vam lahko pomaga odkriti morebitne napake. Na primer, če je bila ena formula v bloku formul prepisana z vrednostjo, bo ta celica izstopala v pogledu zemljevida (kot v celici Q11 v primeru).
Koda QuickMap VBA
Postopek VBA, ki generira zemljevid delovnega lista, je naveden spodaj. Če želite uporabiti ta pripomoček, samo kopirajte kodo in jo prilepite v modul VBA. Nato aktivirajte delovni list in izvedite podprogram QuickMap.
Sub QuickMap()
Dim FormulaCells kot različica
Zatemnite besedilne celice kot različica
Dim NumberCells kot različica
Zatemnjeno območje kot razpon
Če TypeName(ActiveSheet) <> »Worksheet« Nato zapustite Sub
' Ustvarite spremenljivke objekta za podnabore celic
Ob napaki Nadaljuj naprej
Nastavite FormulaCells = Range(“A1”).SpecialCells _
(xlFormule, xlNumbers + xlTextValues + xlLogical)
Nastavi besedilne celice = Obseg(»A1«).SpecialCells(xlConstants, xlTextValues)
Nastavite NumberCells = Obseg(»A1«).SpecialCells(xlConstants, xlNumbers)
Ob napaki Pojdi na 0
« Dodajte nov list in ga formatirajte
Listi.Dodaj
S celicami
.Širina stolpca = 2
.Velikost pisave = 8
.HorizontalAlignment = xlCenter
Končaj z
Application.ScreenUpdating = False
' Naredite celice formule
Če ni IsEmpty(FormulaCells) Potem
Za vsako področje v FormulaCells.Areas
Z ActiveSheet.Range(Area.Address)
.Vrednost = "F"
.Interior.ColorIndex = 3
Končaj z
Naslednje območje
Konec Če
' Naredite besedilne celice
Če ni IsEmpty (TextCells) Potem
Za vsako področje v TextCells.Areas
Z ActiveSheet.Range(Area.Address)
.Vrednost = "T"
.Interior.ColorIndex = 4
Končaj z
Naslednje območje
Konec Če
' Naredite številske celice
Če ni IsEmpty(NumberCells) Potem
Za vsako področje v NumberCells.Areas
Z ActiveSheet.Range(Area.Address)
.Vrednost = "N"
.Interior.ColorIndex = 6
Končaj z
Naslednje območje
Konec Če
Končni sub
Kako deluje
Postopek najprej preveri, ali je aktivni list delovni list. Če ni, je hiter izhod brez nadaljnjega ukrepanja. Ko je aktivni list delovni list, postopek ustvari tri spremenljivke objekta z uporabo metode SpecialCells za identifikacijo različnih tipov celic. Metoda SpecialCells je zelo uporabna. Če z njo niste seznanjeni, jo poglejte v Excelovi spletni datoteki pomoči. Upoštevajte uporabo možnosti Nadaljuj ob napaki Next. Tako se izognete napaki, ki se pojavi, če nobena celica ne izpolnjuje pogojev – na primer, če delovni list nima formul.
Nato postopek doda nov delovni list, zmanjša širino celice in nastavi vodoravno poravnavo na sredino. Ta korak je kozmetični. Podpora nato izklopi posodabljanje zaslona, da nekoliko pospeši stvari.
Naslednji trije bloki kode obdelajo celice. Če nobena celica ne izpolnjuje pogojev, je spremenljivka objekta Empty, zato podpreizkusi za to. Nato se rutina pomakne skozi vsako območje v objektu Obseg in formatira celico. Ta del podprograma lahko preprosto prilagodite za uporabo različnih formatov.
Oglejte si dodatek Power Utility Pak za veliko bolj izpopolnjeno različico tega pripomočka.