Excel VBA - Union in Intersect

Excel VBA ima dve metodi, ki pripadata objektu aplikacije, za upravljanje dveh ali več obsegov: Union in Intersect.

Unija

Metoda Union vrne vse celice v dveh ali več obsegih, posredovanih kot njen argument.

Naslednji ukaz bo izbral obseg, prikazan na spodnji sliki:

1 Union (Razpon ("A1: B4"), Razpon ("B3: C6")). Izberite

Obsegu, ki ga vrne metoda Union, lahko dodelite katero koli vrednost ali formulo:

1 Union (razpon ("A1: B4"), razpon ("B3: C6")) = 10

To bo vneslo vrednost 10 v vsako celico v Uniji.

Vsako funkcijo, ki povzame obseg, lahko zavijete okoli metode Union. Naslednji primer bo vrnil vsoto vrednosti v območjih A1: B4 in B3: C6:

1 Rezultat = Application.WorksheetFunction.Sum (zveza (obseg ("A1: B4"), obseg ("B3: C6")))

Morda boste presenečeni, če vrednost v rezultatu dobite 160! Čeprav je v Uniji le 14 celic (8 v vsakem obsegu, pri čemer sta 2 skupni), ko pogledate izbor, Union dejansko vrne 16 celic, zato je rezultat 160.

Preseči

Metoda preseka vrne samo skupne celice v dveh ali več obsegih, ki so bili posredovani kot njen argument.

Naslednji ukaz bo izbral obseg, prikazan na spodnji sliki (sivo območje):

1 Preseči (obseg ("A1: B4"), obseg ("B3: C6")). Izberite

Uporaba Intersect

Najpogosteje se Intersect uporablja v dogodkih, povezanih z delovnim listom ali delovnim zvezkom. Uporablja se za preverjanje, ali spremenjene celice spadajo v obseg, ki nas zanima. Naslednji primer s preverjanjem, ali so se celice spremenile (identificirane s Targetom) in obseg A1: A10 so pogoste in ustrezno ukrepajte, če so.

Objekt preseka ne vrne ničesar, če ni skupnih celic, zato presek (cilj, obseg (»A1: A10«)) ni nič ne bo res, če ni skupnih celic. Če k pogoju dodamo Ne, postane res samo, če je rezultat preskusa Presek (cilj, obseg (»A1: A10«)) Nič ni napačno, z drugimi besedami, cilj in obseg A1: A10 imata nekaj skupnih celic.

12345 Zasebni pod -delovni list_Sprememba (cilj ByVal kot obseg)Če se ne križa (cilj, doseg ("A1: A10")), potem ni nič'Ukrepi želenoKonec ČeEnd Sub

Zapisala: Vinamra Chandra

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave