Hefur þú einhvern tíma reynt að átta þig á framandi (og flókinni) Excel vinnubók? Það væri gagnlegt að sjá kort sem gefur yfirlit yfir hvaða frumur innihalda fasta og hvaða frumur innihalda gildi.
Þú getur búið til VBA tól sem býr til kort af virka vinnublaðinu. Kortið er búið til á nýju vinnublaði og það samanstendur af litakóðuðum hólfum sem gera þér kleift að bera kennsl á gildi, texta og formúlur fljótt.
Hér að neðan sérðu dæmi um slíkt kort. Hólf sem innihalda texta eru græn, þau sem innihalda tölugildi eru gul og reitur sem innihalda formúlur eru rauðar. Slíkt kort getur hjálpað þér að koma auga á hugsanlegar villur. Til dæmis, ef einni formúlu í formúlublokk hefur verið skrifað yfir með gildi, mun sá reit skera sig úr á kortaskjánum (eins og í reit Q11 í dæminu).

QuickMap VBA kóðann
VBA aðferðin sem býr til vinnublaðakortið er skráð hér að neðan. Ef þú vilt nota þetta tól, afritaðu bara kóðann og límdu hann í VBA einingu. Virkjaðu síðan vinnublað og keyrðu QuickMap undirrútínuna.
Undir QuickMap()
Dimma FormulaCells Sem afbrigði
Dimma TextCells sem afbrigði
Dimma NumberCells Sem afbrigði
Dimmt svæði sem svið
Ef TypeName(ActiveSheet) <> “Worksheet” Þá Hætta undir
' Búðu til hlutbreytur fyrir frumuhlutmengi
Á Villa Resume Next
Stilltu FormulaCells = Range(“A1”).SpecialCells _
(xlFormúlur, xlNumbers + xlTextValues + xlRökrétt)
Stilltu TextCells = Range(“A1”).SpecialCells(xlConstants, xlTextValues)
Stilltu NumberCells = Range(“A1”).SpecialCells(xlConstants, xlNumbers)
Við Villa GoTo 0
' Bættu við nýju blaði og forsníða það
Blað.Bæta við
Með frumum
.ColumnWidth = 2
Leturstærð = 8
.HorizontalAlignment = xlCenter
Enda með
Application.ScreenUpdating = False
' Gerðu formúlufrumurnar
Ef ekki er tóm(formúlafrumur) þá
Fyrir hvert svæði í FormulaCells.Areas
Með ActiveSheet.Range(Area.Address)
.Value = „F“
.Interior.ColorIndex = 3
Enda með
Næsta svæði
End If
' Gerðu textafrumurnar
Ef ekki er tómt(textafrumur) þá
Fyrir hvert svæði í TextCells.Areas
Með ActiveSheet.Range(Area.Address)
.Value = „T“
.Interior.ColorIndex = 4
Enda með
Næsta svæði
End If
' Gerðu tölulegar frumur
Ef ekki er tómt (talnafrumur) þá
Fyrir hvert svæði í NumberCells.Areas
Með ActiveSheet.Range(Area.Address)
.Value = „N“
.Interior.ColorIndex = 6
Enda með
Næsta svæði
End If
End Sub
Hvernig það virkar
Aðferðin athugar fyrst hvort virka blaðið sé vinnublað. Ef það er ekki, þá er fljótleg hætta án frekari aðgerða. Þegar virka blaðið er vinnublað býr aðferðin til þrjár hlutbreytur með því að nota SpecialCells aðferðina til að bera kennsl á hinar ýmsu frumugerðir. SpecialCells aðferðin er mjög gagnleg. Ef þú þekkir það ekki skaltu skoða það í hjálparskrá Excel á netinu. Taktu eftir notkun On Error Resume Next. Þetta er til að forðast villuna sem kemur upp ef engar frumur uppfylla skilyrði - til dæmis ef vinnublaðið hefur engar formúlur.
Næst bætir aðferðin við nýju vinnublaði, minnkar breidd klefans og stillir lárétta jöfnun á miðju. Þetta skref er snyrtivörur. Undirbúnaðurinn slekkur síðan á skjáuppfærslu til að flýta fyrir hlutunum aðeins.
Næstu þrír kóðablokkir vinna úr frumunum. Ef engar frumur uppfylla skilyrði, er hlutbreytan tóm, svo undirprófið fyrir þetta. Síðan fer rútínan í gegnum hvert svæði í Range hlutnum og forsníða hólfið. Þú getur auðveldlega sérsniðið þennan hluta undiráætlunarinnar til að nota mismunandi snið.
Skoðaðu Power Utility Pak viðbótina fyrir miklu flóknari útgáfu af þessu tóli.