Ez az oktatóanyag bemutatja a sorok és oszlopok törlésének különböző módjait az Excel programban a VBA használatával.
Törölje az egész sort vagy oszlopot
Egy teljes sor törléséhez a VBA -ban használja ezt a kódsort:
1 | Sorok (1). Törlés |
Figyeljük meg, hogy a Töröl módszer egy sor törlésére.
Ahelyett, hogy hivatkozna a Sorok objektum, ezek alapján hivatkozhat a sorokra Tartomány objektum val vel Teljes sor:
1 | Tartomány ("a1"). EntireRow.Delete |
A teljes oszlop törléséhez hasonlóan használja ezeket a kódsorokat:
1 | Oszlopok (1). Törlés |
1 | Tartomány ("a1"). Teljes oszlop. Törlés |
Több sor vagy oszlop törlése
Ugyanezzel a logikával több sort is törölhet egyszerre:
1 | Sorok ("1: 3"). Törlés |
vagy oszlopok:
1 | Oszlopok ("A: C"). Törlés |
Figyeljük meg, hogy idézőjelekkel körülvett konkrét sor- és oszlopszámokra / betűkre hivatkozunk.
Természetesen hivatkozhat egy tartomány EntireRow -jára is:
1 | Tartomány ("a1: a10"). EntireRow.Delete |
Megjegyzés: Az alábbi példák csak a sorok törlését szemléltetik, de amint fentebb látható, a szintaxis gyakorlatilag azonos az oszlopok törlésével.
Üres / üres sorok törlése
Ez a példa törli a sort, ha az egész sor üres:
1234567891011 | Sub DeleteRows_EntireRowBlank ()Homályos cella mint tartományA tartomány minden cellájához ("b2: b20")Ha Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Akkorcell.EntireRow.DeleteVége HaKövetkező cellaEnd Sub |
Az Excel munkalap funkciót használja: COUNTA.
Törölje a sort, ha a cella üres
Ezzel törli a sort, ha az adott oszlop üres (ebben az esetben a B oszlop):
1 | Tartomány ("b3: b20"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete |
Sor törlése a cella értéke alapján
Ez végigmegy egy tartományon, és törli a sorokat, ha a sor bizonyos cellaértéke azt mondja: „törlés”.
1234567891011 | Sub DeleteRowswithSpecificValue ()Homályos cella mint tartományA tartomány minden cellájához ("b2: b20")Ha cell.Value = "delete" Akkorcell.EntireRow.DeleteVége HaKövetkező cellaEnd Sub |
Tovább Példák sorok és oszlopok törlésére
Ismétlődő sorok törlése
Ez a kód törli a tartomány összes ismétlődő sorát:
1 | Tartomány ("b2: c100"). RemoveDuplicates Oszlopok: = 2 |
Figyeljük meg, hogy oszlopokat állítottunk be: = 2. Ez arra utasítja a VBA -t, hogy ellenőrizze mind az első két adatoszlopot, amikor mérlegeli, hogy a sorok ismétlődnek -e. Másolat csak akkor található, ha mindkét oszlopban vannak ismétlődő értékek.
Ha ezt 1 -re állítottuk volna, akkor csak az első sor ellenőrizte volna az ismétlődő értékeket.
Táblázatok törlése
Ez a kód törli a táblázat második sorát a ListObjects hivatkozással.
1 | ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Delete |
Szűrt sorok törlése
Csak a szűrés után látható sorok törléséhez:
1 | Tartomány ("b3: b20"). SpecialCells (xlCellTypeVisible) .EntireRow.Delete |
Sorok törlése a tartományban
Ez a kód törli a tartomány összes sorát:
1 | Tartomány ("a1: a10"). EntireRow.Delete |
A kijelölt sorok törlése
Ez a kód törli az összes kijelölt sort:
1 | Selection.EntireRow.Delete |
Utolsó sor törlése
Ezzel törli a B oszlopban utoljára használt sort:
1 | Cella (sorok száma, 2). Vége (xlUp). Egész sor. Törlés |
Ha 2 -ről 1 -re módosítja, törölheti az A oszlopban utoljára használt sort stb.:
1 | Cella (sorok száma, 1). Vége (xlUp). Egész sor. Törlés |
Oszlopok törlése szám szerint
Az oszlop szám szerinti törléséhez használjon egy ilyen kódot:
1 | Oszlopok (2). Törlés |