VBA eltávolítsa a másolatokat
Az Excelnek van egy olyan funkciója, amelyet arra használnak, hogy eltávolítsa a párhuzamos értékeket a kiválasztott cellákból, sorokból vagy táblákból. Mi van, ha ezt a folyamatot automatizáljuk a VBA-ban? Igen, a másolat eltávolításának folyamata automatizálható a VBA-ban egy makró formájában. A másolat eltávolításának folyamatában, miután befejeződött, az egyedi értékek a listában vagy a táblázatban maradnak. Ez a Duplikátumok eltávolítása funkció segítségével lehetséges a VBA-ban.
Hogyan használható az Excel VBA eltávolítása a másolatokról?
Megtanuljuk a VBA eltávolító másolatok használatát, néhány példával az Excelben.
Itt töltheti le a VBA Eltávolít másolatok Excel sablonját - a VBA Eltávolít másolatok Excel sablont1. példa - VBA eltávolítsa a másolatokat
Csak az A oszlopban van 1-5-től 20-ig terjedő számok listája. Amint az alábbi képernyőképen láthatjuk, az összes szám többször ismétlődik.
Most az a feladatunk, hogy eltávolítsuk a másolatot a listáról a VBA által. Ehhez lépjen a VBA ablakba az F11 billentyű megnyomásával.
Ebben a példában azt látjuk, hogy a VBA eltávolító másolatok hogyan működhetnek számokhoz. Ehhez modulra van szükségünk.
1. lépés: Nyissa meg az új modult a Beszúrás menüből, amely a Beszúrás menü lapon található.
2. lépés: Miután megnyitotta, írja be a VBA Remove Duplicate alkategóriáját az alább látható módon.
Kód:
Sub VBARemoveDuplicate1 () Sub
3. lépés: A másolat eltávolítása során először ki kell választania az adatokat. Ehhez a VBA-ban a Kiválasztás funkciót működtetjük mindaddig, amíg le nem válik a teljes adatlista kiválasztására, az alább látható módon.
Kód:
Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Válasszon Sub
4. lépés: Most kiválasztjuk a kiválasztott cellák vagy A oszlopok tartományát. Ez addig megy le, amíg az adatok meg nem jelennek egy adott oszlopban. Nem csak a 20. sorig.
Kód:
Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Válassza ki a Range (Selection, Selection.End (xlUp)) lehetőséget.
5. lépés: Most válassza ki a cellák tartományát egy jelenleg nyitott lapon az alábbiak szerint. Ez aktiválja a teljes oszlopot. Az A oszlopot választottuk a végéig.
Kód:
Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Válasszon tartományt (Selection, Selection.End (xlUp)). Válassza az ActiveSheet.Range ("A: A") lehetőséget. Befejezés Sub
6. lépés: Most itt használja az RemoveDuplicate funkciót. Ez aktiválja a párhuzamos értékek eltávolításának parancsát az 1. oszlop sorozatából. Ha több oszlop van, akkor a szám hozzáadódik és vesszővel elválasztva a zárójelben (1, 2, 3, …).
Kód:
Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Válasszon tartományt (Selection, Selection.End (xlUp)). Válassza az ActiveSheet.Range ("A: A") lehetőséget. RemoveDuplicates oszlopok: = 1, Sub vége
7. lépés: Most a Fejléc parancsot fogjuk használni, amely a kurzort a lap legfelső cellájába mozgatja, amely többnyire bármelyik táblázat fejlécében található.
Kód:
Al VBARemoveDuplicate1 () Selection.End (xlDown) .Válasszon tartományt (Selection, Selection.End (xlUp)). Válassza az ActiveSheet.Range ("A: A") lehetőséget. RemoveDuplicates oszlopok: = 1, Header: = xlYes End Sub
8. lépés: Most fordítsa le a kód lépéseit az F8 billentyű megnyomásával. Ha kész, akkor kattintson a Play gombra, hogy futtassa a kódot, az alább látható módon.
Mint láthatjuk, a másodpéldányszámot törlik az A oszlopból, és az egyetlen egyedi szám maradt.
2. példa - VBA eltávolítsa a másolatokat
Ebben a példában meglátjuk, hogyan lehet eltávolítani az ismétlődő értékeket egynél több oszlopból. Ehhez ugyanazt a másodlatlistát vesszük figyelembe, amelyet az 1. példában használtunk. De új módon további 2 oszlopot adtunk hozzá, amelyek értékei megegyeznek az alábbiakkal.
Ez egy másik módszer, egy kissé eltérő típusú kódszerkezettel.
1. lépés: Nyisson meg egy új modult a VBA-ban, és írja be az alkategóriát a VBA eltávolításának másolatába. Ha lehetséges, adjon meg egy sorszámot, így jobb lesz a megfelelő kód kiválasztása a futtatáshoz.
Kód:
Sub VBARemoveDuplicate2 () Sub
2. lépés: Először válassza ki a teljes lapot a VBA-ban, az alább látható módon.
Kód:
Sub VBARemoveDuplicate2 () Cells.Select End Sub
3. lépés: Most válassza ki az aktuálisan megnyitott lapot az ActiveSheet paranccsal, és válassza az A – C oszlopokat az alább látható módon.
Kód:
Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). Befejezés Sub
4. lépés: Most válassza ki az RemoveDuplicates parancsot, majd az alábbiak szerint válassza az Oszlopmasszát 1–3-ig.
Kód:
Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates oszlopok: = Array (1, 2, 3), End Sub
5. lépés: Végül használja a Fejléc parancsot, amelyet be kell építeni az ismétlődő példányok xlYesként történő eltávolításába, az alábbiak szerint.
Kód:
Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates oszlopok: = Array (1, 2, 3), Header: = xlYes End Sub
6. lépés: Most fordítsa le a teljes kódot, és futtassa. Mint láthatjuk az alábbiakat, a teljes lapot kiválasztják, de az ismétlődő értékeket eltávolítják az A, B és C oszlopokból, csak egyedi számlálással.
3. példa - VBA eltávolítsa a másolatokat
Ez egy másik módszer a másolatok eltávolítására, amely a legegyszerűbb módszer a másolatok eltávolítására a VBA-ban. Ehhez az 1. példában látott és az alábbiakban bemutatott adatokat is felhasználjuk.
1. lépés: Most menj a VBA-ba, és írj újra alkategóriát a VBA eltávolításának másolataiból. Minden kódhoz megadtuk a sorozatokat, amelyekről megmutattuk, hogy megfelelő műsorszámmal rendelkeznek.
Kód:
Sub VBARemoveDuplicate3 () Sub vége
2. lépés: Ez meglehetősen hasonló minta, amelyet a 2. példában láthattunk, de a kód megírásának rövidítési módja a másolat eltávolításához. Ehhez először közvetlenül válassza ki az oszloptartományt, az alább látható módon. Az A oszlop 100-as cellájáig tartottuk a határértéket 1-től kezdve, majd ponttal (.)
Kód:
Sub VBARemoveDuplicate3 () tartomány ("A1: A100"). Befejezés Sub
3. lépés: Most válassza ki az RemoveDuplicates parancsot az alább látható módon.
Kód:
Sub VBARemoveDuplicate3 () tartomány ("A1: A100"). RemoveDuplicates End Sub
4. lépés: Most válassza ki az A oszlopokat, mint az 1. sorrendű Oszlopok parancsot. És utána tartalmazza a kiválasztott oszlopok fejlécét, valamint az alább láthatókat.
Kód:
Sub VBARemoveDuplicate3 () tartomány ("A1: A100"). RemoveDuplicates oszlopok: = 1, fejléc: = xlYes End Sub
5. lépés: Most fordítsa le az F8 billentyű lenyomásával és futtassa. Látni fogjuk, hogy kódunk eltávolította az ismétlődő számokat az A oszlopból, és csak az egyedi értékek vonatkoznak.
A VBA előnyei a másolatok eltávolítása
- Hasznos a másodpéldányok gyors eltávolításában bármilyen sejttartományban.
- Könnyen megvalósítható.
- Ha hatalmas adatkészlettel dolgozik, akkor a duplikátum kézi eltávolítása nehézkessé válik, és leteszi a fájlokat, és a VBA Remove Duplicates másodperc alatt működik, hogy az egyedi értékeket adja meg nekünk.
Hátrányai a VBA Távolítsa el a másolatot
- Nem célszerű a VBA Remove Duplicate-t nagyon kicsi adatokhoz használni, mivel ezt az Adat menüsorban található Duplicate eltávolítás funkcióval könnyen meg lehetne tenni.
Dolgok, amikre emlékezni kell
- A tartomány kétféle módon választható meg. Miután kiválasztotta a cellák számát az 1. példában látható módon, a másik pedig a teljes oszlopot a végéig választja ki, mint az 1. példában látható.
- Győződjön meg arról, hogy a fájlt a Macro-Enabled Excel programba mentette, amely lehetővé teszi számunkra, hogy az írott kódot többször is felhasználjuk anélkül, hogy elvesztenénk.
- A Header függvény értékét Igen- ben tarthatja, mivel ez a fejlécet is kiszámítja, miközben eltávolítja a párhuzamos értékeket. Ha nincs fejléc név nevének duplikált értéke, akkor a No értékének tartása semmit nem árt.
Ajánlott cikkek
Ez egy útmutató a VBA másolatok eltávolításához. Itt megvitattuk, hogyan lehet használni az Excel VBA eltávolító másolatokat, valamint a gyakorlati példákat és a letölthető Excel sablont. Megnézheti más javasolt cikkeinket -
- Együttműködés a VBA Active Cell-tal
- Sor törlése a VBA-ban
- Hogyan kell használni az Excel VBA átültetést?
- Hogyan javítsuk ki a 1004 hibát a VBA használatával