300 Piemēri

Salīdziniet diapazonus

Compare Ranges

Zemāk mēs apskatīsim programmu Excel VBA ka salīdzina nejauši izvēlēts diapazoni un izceļ šūnas, kas ir unikālas. Ja neesat pazīstams ar apgabali tomēr mēs ļoti iesakām vispirms izlasīt šo piemēru.



Situācija:

aprēķinot aizdevuma procentu likmi Excel

Salīdziniet diapazonus programmā Excel VBA



Piezīme: šajā piemērā vienīgā unikālā vērtība ir 3, jo visas pārējās vērtības ir vismaz vēl vienā apgabalā. Lai atlasītu diapazonu ('B2: B7, D3: E6, D8: E9'), turiet nospiestu Ctrl un atlasiet katru apgabalu.

Novietojiet a komandu pogu darblapā un pievienojiet šādas koda rindiņas:



1. Pirmkārt, mēs deklarējam četrus diapazona objektus un divus Integer tipa mainīgos.

NavrangeToUseDiapazons, viena zonaDiapazons, šūna1Diapazons, šūna2Diapazons, t.i Vesels skaitlis, j Vesels skaitlis

2. Mēs inicializējam Range objekta rangeToUse ar izvēlēto diapazonu.

UzstādītrangeToUse = Atlase

3. Pievienojiet rindu, kas maina visu šūnu fona krāsu, uz “No Fill”. Pievienojiet arī rindu, kas noņem visu šūnu robežas.

Šūnas.Interior.ColorIndex = 0
Cells.Borders.LineStyle = xlNone

4. Informējiet lietotāju, kad viņš vai viņa izvēlas tikai vienu apgabalu.

JaAtlase. Jomas. Skaits<= 1 Tad
MsgBox 'Lūdzu, atlasiet vairāk nekā vienu apgabalu.'
Citādi


Beigas Ja

Nākamās koda rindiņas (pie 5., 6. un 7.) jāpievieno starp citu un beigu Ja.

5. Izkrāsojiet atlasīto apgabalu šūnas.

rangeToUse.Interior.ColorIndex = 38

6. Robežojiet katru apgabalu.

Priekš KatrssingleAreaInrangeToUse.Areas
singleArea.BorderAround ColorIndex: = 1, svars: = xlThin
NākamaissingleArea

7. Pārējā šīs programmas daļa izskatās šādi.

Priekši = 1UzrangeToUse.Areas.Count
Priekšj = i + 1UzrangeToUse.Areas.Count
Priekš Katrsšūna1InrangeToUse.Areas (i)
Priekš Katrsšūna2InrangeToUse.Areas (j)
Jašūna1.Vērtība = šūna2.VērtībaTad
šūna1.Interior.ColorIndex = 0
šūna2.Interior.ColorIndex = 0
Beigas Ja
Nākamaisšūna2
Nākamaisšūna1
Nākamaisj
Nākamaisi

Paskaidrojums: tas var izskatīties mazliet satriecoši, taču tas nav tik grūti. rangeToUse.Areas.Count ir vienāds ar 3, tāpēc pirmās divas koda rindas tiek samazinātas līdz i = 1 līdz 3 un j = i + 1 līdz 3. Ja i = 1, j = 2, Excel VBA salīdzina visas pirmā apgabala vērtības ar visām otrā apgabala vērtībām. Ja i = 1, j = 3, Excel VBA salīdzina visas pirmā apgabala vērtības ar visām trešā apgabala vērtībām. Ja i = 2, j = 3, Excel VBA salīdzina visas otrā apgabala vērtības ar visām trešā apgabala vērtībām. Ja vērtības ir vienādas, abu šūnu fona krāsa tiek iestatīta uz “No Fill”, jo tās nav unikālas.

Excel karietes atgriešanās šūnā

Rezultāts, noklikšķinot uz komandas pogas lapā:

Salīdziniet diapazonu rezultātu

14/14 Pabeigts! Uzziniet vairāk par diapazona objektu>
Doties uz nākamo nodaļu: Mainīgie



^