Excel VBA -kohta

VBA Leikkaa matematiikassa tai geometriassa sitä, kun kaksi tai useampi viiva tai alue ylittää toisensa. Sen jälkeen luodtua yhteistä pistettä tai aluetta kutsutaan leikkauspisteeksi tai -alueeksi. Excelissä voimme myös korostaa ja mitata Risteysalueen.

Excel VBA: n ristikkotoiminnon syntaksi

Risteystoiminnolla on seuraava syntaksi Excel VBA: ssa:

Kuten näemme, Arg1 ja Arg2 mainitaan, Range. Ja muut argumentit ovat suluissa. Mikä tarkoittaa, että kaksi ensimmäistä argumenttia on valittava alueeksi. Tai toisin sanoen vähintään 2 aluetta on sisällytettävä Intersectin löytämiseen. Loput argumentit voidaan valita alueeksi tai se voi sisältää joitain muita asioita tai parametreja tarpeen mukaan. Tämä syntaksi mahtuu korkeintaan 30 argumenttia.

Kuinka käyttää Excel VBA: n ristikkotoimintoa?

Opimme käyttämään VBA Intersect -toimintoa muutamalla esimerkillä Excelissä.

Voit ladata tämän VBA Intersect Excel -mallin täältä - VBA Intersect Excel Template

VBA-ristikko - esimerkki # 1

Ensimmäisessä esimerkissä korostetaan ja luodaan risteysalue, kun meillä on jonkin verran datajoukkoa. Tätä varten meillä on mallitietoja, joissa on 3 saraketta, jotka on täytetty numeroilla, kuten alla on esitetty.

Nyt meidän on löydettävä yllä olevan datataulun leikkausalue VBA Intersect -sovelluksella. Tätä varten noudata seuraavia vaiheita:

Vaihe 1: Siirry VBA-ikkunaan ja avaa moduuli Lisää-valikon vaihtoehdosta alla olevan kuvan mukaisesti.

Saamme moduulin tyhjän ikkunan.

Vaihe 2: Kirjoita nyt VBA Intersectin alaluokka tai jokin muu nimi valintasi mukaan.

Koodi:

 Sub VBAIntersect1 () Loppu alaosa 

Vaihe 3: Lisää nyt Intersect- komento suoraan alla olevan kuvan mukaisesti.

Koodi:

 Sub VBAIntersect1 () Intersect (loppu Sub 

Kuten jo selitimme Intersectin yksityiskohtaisen syntaksin, lisäämme risteysalueen. Voimme valita N alueen vaihteluvälin, mutta vähintään kahden alueen tulisi olla siellä.

Tarkastellaan alla leikkausaluetta, jossa ensimmäinen alue on A1: stä B8: een, toinen alue on B3: sta C12 ja kolmas alue on A7: stä C10. Voimme harkita ja valita minkä tahansa yhdistelmän leikkauskuvioista.

Katsotaan nyt, missä vaiheessa nämä alueet kohtaavat ja leikkaavat toisiaan. Kaikkien yllä olevien alueiden luoma yhteinen alue on risteysalueemme.

Vaihe 4: Valitse nyt VBA-moduulissa Intersect ensimmäinen aluealue alla esitetyllä tavalla.

Koodi:

 Sub VBAIntersect1 () Intersect (Range ("A1: B8") End Sub 

Olemme lisänneet ensimmäisen alueen, mutta syntaksimme on edelleen puutteellinen.

Vaihe 5: Lisää sitten vielä kaksi edellä käsiteltyä aluetta pilkuilla erotettuihin alueisiin.

Koodi:

 Sub VBAIntersect1 () Risteys (Alue ("A1: B8"), Alue ("B3: C12"), Alue ("A7: C10")) Loppu Sub 

Vaihe 6: Anna ehtona nyt "totta".

Koodi:

 Sub VBAIntersect1 () Risteys (Alue ("A1: B8"), Alue ("B3: C12"), Alue ("A7: C10")) = True End Sub 

Tämä täydentää koodiamme.

Vaihe 7: Käännä nyt koodi ja suorita napsauttamalla Play-painiketta, joka sijaitsee valikkopalkin alla, kuten alla on osoitettu.

Saadaan yhteinen alue tai leikkausalue, jonka arvo on TOSI yllä esitetyllä tavalla. Vaikka meillä on leikkausalue, tuo Tosi on korvannut tiedot, jotka olivat siellä leikkausalueella.

Vaihe 8: Välttääksesi tämän menetyksen voimme muuttaa värin taustan, nämä yleiset solut mihin tahansa väriomme. Tätä varten Käytä Intersect-sovelluksen syntaksin jälkeen Sisätoiminto yhdessä värin kanssa alla esitetyllä tavalla.

Koodi:

 Sub VBAIntersect1 () Risteys (Alue ("A1: B8"), Alue ("B3: C12"), Alue ("A7: C10").) Sisustus.Väri = End Sub 

Vaihe 9: Nyt VBA: ssa emme voi käyttää värin nimeä, jota haluamme käyttää suoraan. Tätä varten meidän on lisättävä ” vb ”, jota käytetään aktivoimaan VBA: n värejä. Nyt käytä sitä ja lisää haluamasi värin nimi. Valitsemme täällä vihreän alla olevan kuvan mukaisesti.

Koodi:

 Sub VBAIntersect1 () Risteys (Alue ("A1: B8"), Alue ("B3: C12"), Alue ("A7: C10")). Sisustus.Väri = vbGreen End Sub 

Vaihe 10: Käännä nyt kirjoitettu koodi taas yhdellä kertaa, koska koodi on melko pieni, ja suorita se.

Nähdään, että leikkautuneen alueen väri muuttuu vihreäksi ja yhteiseksi alueeksi, joka syntyy B7: n B8: n kolmen eri alueen leikkauskohdassa.

VBA-ristikko - esimerkki 2

On toinenkin, mutta melko erilainen tapa käyttää VBA Intersect -sovellusta. Tällä kertaa käytämme leikkausta tietyssä laskentataulukossa. Sheet2: ssä olemme merkinneet alueen B4: stä E8: aan alla esitetyllä tavalla.

Noudata seuraavia vaiheita:

Vaihe 1: Siirry VBA: ssa nykyisen työkirjan arkkiin 2 alla olevan kuvan mukaisesti.

Vaihe 2: Valitse nyt laskentataulukko tästä ensimmäisestä pudotusvalikosta. Tämä sallii koodin käytön vain tässä nykyisessä taulukossa.

Vaihe 3: Ja valitse toisesta avattavasta valikosta Vaihda alla olevan kuvan mukaisesti. Tätä käytetään kohdistamaan valitulla alueella tehdyt muutokset.

Vaihe 4: Me kirjoitamme koodimme vain ensimmäiseen alaluokkaan.

Koodi:

 Yksityinen alatyöarkki_muutos (ByVal-kohde kohdealueena) Loppu alaosaan 

Vaihe 5: Käytä If-Else-silmukkaa ehdollisuuden muodostamiseen risteystoiminnolle.

Koodi:

 Yksityinen alatyöarkki_muutos (ByVal-kohde kohdealueena) Jos Lopeta Jos Lopeta alaosa 

Vaihe 6: Valitse ensin tavoitealue välillä B4 - E8 alla olevan kuvan mukaisesti. Tämä kohdistuu pääasiassa alueiden B4 - E8 leikkauspisteeseen.

Koodi:

 Yksityinen alatyöarkki_muutos (ByVal-kohde kohdealueena) Jos ristikkäin (kohde, alue ("B4: E8")) Lopeta, jos loppuu alaosa 

Vaihe 7: Ja jos kohdealueella ei ole mitään, meidän on kirjoitettava lausunto, joka ohjaa koodin eteenpäin.

Koodi:

 Yksityinen alatyöarkki_muutos (ByVal-kohde kohdealueena), jos ristikkäin (kohde, alue ("B4: E8")) ei ole mitään, sitten loppua, jos lopussa alaosa 

Vaihe 8: Ja jos kohde on todellakin alueen ulkopuolella, voimme käyttää viestiruutua, jossa on varoitusviesti, kuten alla.

Koodi:

 Yksityinen alatyöarkki_muutos (ByVal-kohde kohdealueena) Jos ristikkäin (kohde, alue ("B4: E8")) ei ole mitään, niin MsgBox "Ei alueen sisällä" Lopeta, jos loppuu alaosa 

Vaihe 9: Ja Else-lauseessa, jossa jotain kirjoitetaan laatikon sisällä, meidän pitäisi saada nopea viesti, jos kirjoitettu sisältö on laatikon sisällä, kuten alla on esitetty.

Koodi:

 Yksityinen alatyöarkki_muutos (ByVal-kohde kuin alue) Jos ristikkäin (kohde, alue ("B4: E8")) ei ole mitään, niin MsgBox "Alueen ulkopuolella" Muu MsgBox "Alueen sisällä" Lopeta, jos lopeta ala 

Vaihe 10: Käännä nyt jokainen kirjoitetun koodin vaihe ja sulje VBA-taulukko. Koska olemme kirjoittaneet arkin erityisen koodin, se toimii samalla.

Vaihe 11: Kirjoita nyt jotain laatikon sisään.

Kuten voimme nähdä, kirjoitimme 2 soluun C5 laatikon sisälle, saimme viestin tai ” Range ”.

Vaihe 12: Kirjoita taas jotain laatikosta. Kirjoitimme yhden soluun B10 ja saimme viestin “Range of out” alla olevan kuvan mukaisesti.

Tämä on toinen tapa käyttää Intersectiä Excel VBA: ssa.

Plussaa Excel VBA Intersectistä

  • On erittäin helppo ainakin tuoda esiin alue, joka leikkaa esimerkin-1 prosessin avulla.
  • Tämä on erittäin hyödyllistä, kun meidän on suodatettava tai käsiteltävä sellaisia ​​tietoja, jotka leikkaavat toisesta alueesta, kuten päivämäärät, omistaja jne.

Muistettavat asiat

  • Muista tallentaa tiedosto Macro Enable Excel -muodossa, jotta koodi toimii kaikissa käyttökerroissa.
  • Kirjoita koodi arkkiin moduulin sijasta, kuten esimerkissä-2 esitetään, tee koodi käytettäväksi vain kyseiseen arkkiin. Tämä koodi ei toimi missään muussa taulukossa.
  • Kohdealueen käyttäminen esimerkissä-2 esitetyllä tavalla on hyödyllinen määriteltäessä alue, johon lyödään.

Suositellut artikkelit

Tämä on VBA Intersect -oppaan opas. Tässä keskustellaan siitä, kuinka käyttää Excel VBA Intersect Function -toimintoa yhdessä joidenkin käytännön esimerkien ja ladattavan Excel-mallin kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Esimerkkejä VBA-silmukoista
  2. Excel-sarake numeroon
  3. VBA Tee kunnes silmukka
  4. Luo budjetti Excelissä

Luokka: