VBA Poista kaksoiskappaleet

Excelissä on ominaisuus, jota käytetään kopioiden arvojen poistamiseen valituista soluista, riveistä tai taulukosta. Entä jos tämä prosessi automatisoidaan VBA: ssa? Kyllä, kaksoiskappaleen poistamisprosessi voidaan automatisoida VBA: ssa makromuodossa. Kun kaksoiskappale poistetaan, kun se on valmis, yksilölliset arvot jäävät luetteloon tai taulukkoon. Tämä voidaan toteuttaa Poista kopioita -toiminnon avulla VBA: lla.

Kuinka käyttää Excel VBA -kopioita kaksoiskappaleiden poistamiseen?

Opimme käyttämään VBA-poistokopioita muutamalla esimerkillä excelistä.

Voit ladata tämän VBA Poista kaksoiskappaleet Excel -mallin täältä - VBA Poista kaksoiskappaleet Excel-mallin

Esimerkki 1 - VBA-kopioiden poistaminen

Meillä on vain luettelossa numerot 1-5 aina riviin 20 sarakkeessa A. Kuten alla olevassa kuvakaappauksessa voidaan nähdä, kaikki numerot toistuvat useita kertoja.

Nyt meidän tehtävämme on poistaa jäljennös luettelosta VBA: n toimesta. Siirry tähän VBA-ikkunaan painamalla F11-näppäintä.

Tässä esimerkissä nähdään peruskäyttö siitä, kuinka VBA Poista kaksoiskappaleet voivat toimia numeroiden suhteen. Tätä varten tarvitsemme moduulin.

Vaihe 1: Avaa uusi moduuli Lisää-valikossa, joka on Lisää-valikko-välilehdessä.

Vaihe 2: Kun se on auki, kirjoita VBA Poista kaksoiskappaleen alaluokka alla olevan kuvan mukaisesti.

Koodi:

 Sub VBARemoveDuplicate1 () End Sub 

Vaihe 3: Kopion poistamisen yhteydessä on ensin valittava tiedot. Tätä varten VBA: ssa me valitsemme valintatoiminnon, kunnes se menee alas valitsemaan täydellinen tietolista alla esitetyllä tavalla.

Koodi:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Valitse End Sub 

Vaihe 4: Nyt valitsemme valittujen solujen tai sarakkeiden alueen A. Se laskee, kunnes meillä on tietoja tietyssä sarakkeessa. Ei vain 20 riviin saakka.

Koodi:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Valitse alue (Selection, Selection.End (xlUp)). Valitse End Sub 

Vaihe 5: Valitse nyt solualue parhaillaan avoimessa arkissa alla olevan kuvan mukaisesti. Tämä aktivoi koko sarakkeen. Olemme valinneet sarakkeen A loppuun saakka.

Koodi:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Valitse alue (Selection, Selection.End (xlUp)). Valitse ActiveSheet.Range ("A: A"). End Sub 

Vaihe 6: Käytä nyt RemoveDuplicate-toimintoa täällä. Tämä aktivoi komennon poistaa päällekkäiset arvot sarakkeista 1. Jos sarakkeita on enemmän, numero lisätään ja erotetaan pilkuilla hakasuluissa (1, 2, 3, …).

Koodi:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Valitse alue (Selection, Selection.End (xlUp)). Valitse ActiveSheet.Range ("A: A"). RemoveDuplicates sarakkeet: = 1, End Sub 

Vaihe 7: Nyt käytämme Otsikko-komentoa, joka siirtää osoittimen arkin ylimpään soluun, joka on enimmäkseen minkä tahansa taulukon otsikossa.

Koodi:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Valitse alue (Selection, Selection.End (xlUp)). Valitse ActiveSheet.Range ("A: A"). RemoveDuplicates sarakkeet: = 1, Header: = xlYes End Sub 

Vaihe 8: Käännä nyt koodivaiheet painamalla F8-näppäintä. Kun olet valmis, napsauta Toista-painiketta suorittaaksesi koodin alla olevan kuvan mukaisesti.

Kuten voimme nähdä, kaksoiskappaleen numero poistetaan sarakkeesta A ja ainoa yksilöivä laskelma on jäljellä.

Esimerkki 2 - VBA-kopioiden poistaminen

Tässä esimerkissä näemme kuinka voidaan poistaa päällekkäiset arvot useammasta kuin yhdestä sarakkeesta. Tätä varten tarkastelemme samaa päällekkäisluetteloa, jota käytettiin esimerkissä-1. Mutta uudella tavalla olemme lisänneet vielä 2 saraketta samoilla arvoilla kuin alla.

Tämä on toinen menetelmä, jolla on hiukan erityyppinen koodirakenne.

Vaihe 1: Avaa uusi moduuli VBA: ssa ja kirjoita alaluokka VBA Poista kaksoiskappale -kohtaan. Anna sille järjestysnumero, jos mahdollista, jotta on parempi valita oikea koodi suoritettavaksi.

Koodi:

 Sub VBARemoveDuplicate2 () Loppu Sub 

Vaihe 2: Valitse ensin koko arkki VBA: ssa alla olevan kuvan mukaisesti.

Koodi:

 Sub VBARemoveDuplicate2 () Cells.Valitse End Sub 

Vaihe 3: Valitse nyt avoinna oleva arkki ActiveSheet-komennolla ja valitse sarakkeet A – C alla olevan kuvan mukaisesti.

Koodi:

 Sub VBARemoveDuplicate2 () Solut.Valitse ActiveSheet.Range ("A: C"). End Sub 

Vaihe 4: Valitse nyt RemoveDuplicates-komento ja valitse sen jälkeen Sarakematriisi välillä 1 - 3 alla olevan kuvan mukaisesti.

Koodi:

 Sub VBARemoveDuplicate2 () -solut.Valitse ActiveSheet.Range ("A: C"). PoistaDuplicates-sarakkeet: = Matriisi (1, 2, 3), Lopeta alaosa 

Vaihe 5: Viimeinkin otsikko-komento, joka sisällytetään kopioiden poistamiseen xlYes-muodossa, kuten alla on esitetty.

Koodi:

 Sub VBARemoveDuplicate2 () Solut.Valitse ActiveSheet.Range ("A: C"). PoistaDuplicates sarakkeet: = Matriisi (1, 2, 3), Otsikko: = xlKyllä End Sub 

Vaihe 6: Käännä nyt koko koodi ja suorita. Kuten jäljempänä voidaan nähdä, koko arkki valitaan, mutta päällekkäiset arvot poistetaan sarakkeista A, B ja C pitämällä vain yksilöivä laskenta.

Esimerkki 3 - VBA-kopioiden poistaminen

Tämä on toinen tapa poistaa kaksoiskappale, joka on yksinkertaisin tapa poistaa kaksoiskappale VBA: sta. Tätä varten käytämme tietoja, jotka näimme esimerkissä-1 ja jotka myös esitetään alla.

Vaihe 1: Siirry nyt VBA: han ja kirjoita alaluokka uudelleen VBA Poista kaksoiskappaleet. Olemme antaneet sekvenssin jokaiselle osoitetulle koodille, jolla on oikea raita.

Koodi:

 Sub VBARemoveDuplicate3 () Loppu Sub 

Vaihe 2: Tämä on melko samanlainen malli, jonka olemme nähneet esimerkissä-2, mutta oikotie tapa kirjoittaa koodi kopion poistamiseksi. Tätä varten aloita ensin suoraan sarakealueen valitseminen alla olevan kuvan mukaisesti. Olemme pitäneet rajan sarakkeen A 100 - soluun saakka alkaen yhdestä, jota seuraa piste (.)

Koodi:

 Sub VBARemoveDuplicate3 () -alue ("A1: A100"). End Sub 

Vaihe 3: Valitse nyt RemoveDuplicates-komento alla olevan kuvan mukaisesti.

Koodi:

 Sub VBARemoveDuplicate3 () -alue ("A1: A100"). PoistaDuplicates End Sub 

Vaihe 4: Valitse nyt sarakkeet A kuten komentoparakkeilla, joiden järjestys on 1. Ja sen jälkeen sisällytä valittujen sarakkeiden otsikko sekä alla esitetyt tiedot.

Koodi:

 Sub VBARemoveDuplicate3 () -alue ("A1: A100"). RemoveDuplicates sarakkeet: = 1, otsikko: = xlKyllä End Sub 

Vaihe 5: Nyt käännä se painamalla F8-näppäintä ja suorita. Näemme, että koodimme on poistanut kaksoisnumerot sarakkeista A ja vain yksilölliset arvot ovat käytössä.

Plussaa VBA-kopioiden poistamisesta

  • Se on hyödyllinen kopioiden poistamiseksi nopeasti mistä tahansa solualueesta.
  • Se on helppo toteuttaa.
  • Kun työskentelet valtavan tietojoukon kanssa, jolloin kaksoiskappaleen poistaminen on vaikeaa manuaalisesti ja se ripustaa tiedostot ja VBA Poista kaksoiskappaleet toimii sekunnissa antaen meille ainutlaatuiset arvot.

Miinukset VBA Poista kaksoiskappaleet

  • Ei ole hyödyllistä käyttää VBA Poista kaksoiskappaleita erittäin pienissä tiedoissa, koska se voidaan tehdä helposti käyttämällä Dup-valikkopalkissa olevaa Poista kopio -toimintoa.

Muistettavat asiat

  • Alue voidaan valita kahdella tavalla. Kun se on valittu, solujen raja, kuten esimerkissä-1 esitetään, ja toinen valitsee täydellisen sarakkeen loppuun, kuten esimerkissä-1 esitetään.
  • Varmista, että tiedosto on tallennettu Macro-Enabled Excel -sovellukseen, jonka avulla voimme käyttää kirjoitettua koodia useita kertoja menettämättä sitä.
  • Voit pitää otsikon funktion arvon kyllä, koska se laskee myös otsikon samalla, kun poistetaan kaksoisarvot. Jos otsikkotunnuksella ei ole päällekkäistä arvoa, sen pitäminen Ei-muodossa ei vahingoita mitään.

Suositellut artikkelit

Tämä on opas VBA-kopioiden poistamiseen. Täällä olemme keskustelleet siitä, miten Excel VBA Poista -kopioita käytetään käytännön esimerkien ja ladattavien Excel-mallien kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Yhteistyö VBA Active Cell -sovelluksen kanssa
  2. Rivin poistaminen VBA: sta
  3. Kuinka käyttää Excel VBA -siirtoa?
  4. Kuinka korjata 1004 -virhe VBA: n avulla

Luokka: