Skip to content
Natuurondernemer
    6 maja, 2020 by admin

    Jak usunąć cały wiersz w Excelu za pomocą VBA (przykłady)

    Jak usunąć cały wiersz w Excelu za pomocą VBA (przykłady)
    6 maja, 2020 by admin

    Dodawanie i usuwanie wierszy jest częścią codziennych wspólnych zadań podczas pracy z Excelem.

    Pomimo, że można to łatwo zrobić z samego arkusza, czasami możesz chcieć użyć ścieżki VBA, aby usunąć wiersze w Excelu. Może to być usunięcie konkretnego wiersza, wielu wierszy w zaznaczeniu, usunięcie alternatywnych wierszy lub tych, które mają określoną wartość.

    W tym poradniku pokażę Ci, jak usunąć wiersze w Excelu za pomocą VBA (wiele scenariuszy).

    Zacznijmy więc!

    Tutorial ten obejmuje:

    Usuwanie całego wiersza za pomocą VBA

    Aby usunąć cały wiersz w Excelu za pomocą VBA, należy użyć metody EntireRow.Delete.

    Na przykład, jeśli chcesz usunąć cały pierwszy wiersz w arkuszu, możesz użyć poniższego kodu:

    Sub DeleteEntireRow()Rows(1).EntireRow.DeleteEnd Sub

    Powyższy kod najpierw określa wiersz, który ma zostać usunięty (co odbywa się poprzez podanie liczby w nawiasie), a następnie używa metody EntireRow.Delete, aby go usunąć.

    Możesz również usunąć wiele wierszy, określając te wiersze w kodzie.

    Na przykład poniższy kod usunie wiersze numer 1, 5 i 9 w arkuszu:

    Sub DeleteEntireRow()Rows(9).EntireRow.DeleteRows(5).EntireRow.DeleteRows(1).EntireRow.DeleteEnd Sub

    Powyższy kod wykorzystuje tę samą logikę, w której określa numery wierszy, a Excel usunie te wiersze jeden po drugim.

    IMPORTANT: Kiedy usuwasz wiersze za pomocą czegoś podobnego do powyższego kodu, pamiętaj, aby rozpocząć usuwanie od dołu, a następnie przejść do góry. Na przykład w przypadku, gdy zaczniesz od góry i usuniesz najpierw wiersz 1, wszystkie wiersze poniżej niego zostaną przesunięte o jeden wiersz w górę, a numeracja będzie wyłączona (ponieważ wiersz 5 stanie się wierszem 4 i tak dalej)

    Usuń wszystkie wiersze w zaznaczeniu

    W przypadku, gdy chcesz usunąć wszystkie wiersze w wybranym zakresie komórek, możesz użyć poniższego kodu makra VBA:

    Sub DeleteEntireRow()Selection.EntireRow.DeleteEnd Sub

    Powyższy kod stosuje metodę EntireRow.Delete do całego zaznaczenia.

    Usuwanie alternatywnych wierszy (lub usuwanie co trzeciego/czwartego/n-tego wiersza)

    Czasami możesz otrzymać zrzut danych, w którym co drugi wiersz (lub trzeci, czwarty lub N-ty wiersz) jest bezużyteczny i wymaga usunięcia.

    Pracowałem kiedyś z danymi finansowymi, gdzie co drugi wiersz był pusty i musiał zostać usunięty.

    To jest typ scenariusza, w którym VBA naprawdę błyszczy.

    Poniżej znajduje się kod VBA, który przejdzie przez wszystkie wiersze w zaznaczeniu i usunie co drugi wiersz:

    Sub DeleteAlternateRows()RCount = Selection.Rows.CountFor i = RCount To 1 Step -2 Selection.Rows(i).EntireRow.DeleteNext iEnd Sub

    Pozwól mi wyjaśnić, jak działa ten kod VBA.

    Po pierwsze, użyłem zmiennej RCount, aby uzyskać całkowitą liczbę wierszy w selekcji.

    Następnie użyłem pętli For Next, aby uruchomić to tyle razy, ile jest wierszy. Na przykład, jeśli jest 12 wierszy, ta pętla zostanie uruchomiona od 12 do 1 (tj. 12 razy). Ważne jest, aby uruchomić to od ostatniego wiersza w selekcji do pierwszego, ponieważ nie chcemy, aby numery wierszy zmieniły się, gdy wiersz jest usuwany.

    Krok -2 jest również używany, ponieważ musimy usunąć co drugi wiersz (od dołu do góry). W przypadku, gdy chcesz usunąć co trzeci wiersz, możesz użyć kroku -3.

    Wewnątrz pętli VBA użyłem metody Selection.Rows(i).EntireRow.Delete, aby usunąć każdy kolejny wiersz.

    Usuwanie pustych wierszy za pomocą VBA

    Możesz również użyć metody EntireRow.Delete do usunięcia wszystkich pustych wierszy.

    Poniżej znajduje się kod VBA, który zaznaczy puste komórki w wybranym zbiorze danych i usunie cały wiersz.

    Sub DeleteBlankRows()Selection.SpecialCells(xlCellTypeBlanks).EntireRow.DeleteEnd Sub

    Powyższy kod używa właściwości SpecialCells do zaznaczenia i usunięcia wszystkich komórek, które są puste. Jest to ta sama metoda, która pozwala nam również użyć okna dialogowego 'Go To Special' do wybrania wszystkich pustych komórek.

    Po zidentyfikowaniu tych pustych komórek za pomocą właściwości SpecialCell, są one następnie usuwane za pomocą metody EntireRow.Delete.

    Uwaga: Ta metoda wybiera komórki, które są puste i nie sprawdza, czy cały wiersz jest pusty, czy nie. Więc jeśli każda komórka jest pusta w wierszu, to nadal usunie cały wiersz.

    Usuń wiersze z określonym słowem / wartością

    Możesz również użyć prostego kodu VBA, aby przejść przez każdą komórkę w wybranym zakresie i usunąć wszystkie wiersze, w których komórka zawiera określony tekst lub wartość.

    Na przykład, załóżmy, że masz zbiór danych i chcę usunąć wszystkie komórki, które mają tekst Drukarka w kolumnie 2 zaznaczenia.

    Dataset from where usuń cały wiersz z określoną wartością

    Poniżej znajduje się kod, który to zrobi:

    Sub DeleteRowswithSpecificValue()For i = Selection.Rows.Count To 1 Step -1If Cells(i, 2).Value = "Printer" ThenCells(i, 2).EntireRow.DeleteEnd IfNext iEnd Sub

    Powyższy kod najpierw zlicza całkowitą liczbę wierszy w selekcji. To upewni się, że pętla jest uruchamiana tylko tyle razy. Następnie używa pętli 'For Next', aby przejść przez wszystkie komórki w kolumnie 2.

    Konstrukcja IF THEN ELSE jest następnie używana do sprawdzenia wartości w każdej komórce w kolumnie 2. I w przypadku, gdy wartość / tekst pasuje do określonego tekstu (który jest 'Drukarka' w tym przykładzie).

    W tym przykładzie sprawdziłem, czy tekst pasuje do określonego łańcucha, czy nie. Możesz również zrobić to z wartościami. Na przykład, możesz usunąć wszystkie wiersze, w których wartość sprzedaży jest mniejsza niż 1000 lub większa niż 1000.

    Uwaga: Ważną rzeczą do zauważenia jest to, że pętla działa od Selection.Rows.Count To 1, aby upewnić się, że kiedy wiersz jest usuwany, nie ma to wpływu na wiersze powyżej niego.

    Jak używać tego kodu VBA

    Teraz pokażę Ci, jak używać wszystkich kodów wymienionych w tym poradniku, aby usunąć cały wiersz.

    Trzeba skopiować i wkleić te kody do modułu w Edytorze Excel VB. Po skopiowaniu tych kodów, możesz uruchomić kody makr.

    Poniżej znajdują się kroki, aby skopiować i wkleić te kody VBA w module:

    1. Przytrzymaj klawisz ALT i naciśnij klawisz F11 (lub Function + Option + F11 w Mac). Spowoduje to otwarcie Edytora VB
    2. W Edytorze VB, po lewej stronie znajduje się eksplorator projektu. Jeśli go nie widzisz, przejdź do opcji Widok, a następnie kliknij na Eksplorator projektu.Kliknij na Eksplorator projektu
    3. Kliknij prawym przyciskiem myszy na dowolny obiekt w Eksploratorze projektu (dla skoroszytu, w którym chcesz uruchomić kod).Insert Module
    4. Przejdź do Wstaw, a następnie kliknij na Moduł. Spowoduje to wstawienie nowego modułu dla skoroszytuKopiuj i wklej, aby usunąć cały wiersz w module
    5. Kopiuj i wklej powyższe kody w module.

    Aby uruchomić te kody, możesz umieścić kursor w dowolnym miejscu kodu (który chcesz uruchomić) i naciśnij klawisz F5 (lub kliknij na zielony trójkąt na pasku narzędzi VBA).

    Napisałem również szczegółowy samouczek na temat różnych sposobów uruchamiania makr VBA w Excelu.

    W przypadku, gdy będziesz potrzebował używać któregoś z tych kodów dość często, możesz również rozważyć dodanie ich do Osobistego skoroszytu makr, a następnie do QAT. W ten sposób kod będzie dostępny dla ciebie w każdym z twoich skoroszytów za pomocą jednego kliknięcia.

    Więc to były niektóre kody VBA, których możesz użyć do usunięcia całych wierszy w programie Excel (w różnych scenariuszach). Ta sama logika może być również zastosowana w przypadku, gdy chcesz usunąć kolumny zamiast wierszy (z odpowiednim dostosowaniem w przykładach kodu).

    Mam nadzieję, że ten poradnik okazał się przydatny!

    Mogą Ci się również spodobać następujące samouczki Excela:

    • Excel VBA Autofiltr: Kompletny przewodnik z przykładami
    • Usuwanie wierszy na podstawie wartości komórki (lub warunku) w Excelu
    • Wstawianie pustego wiersza po każdym wierszu w Excelu (lub co N-ty wiersz)
    • Jak szybko ukryć KOLUMNY w Excelu

    Previous articleRobin Roberts zaznacza kamień milowy "urodziny": 5 lat od przeszczepu szpiku kostnegoNext article 21 Ways to Make Your Cat Love You

    Dodaj komentarz Anuluj pisanie odpowiedzi

    Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

    Najnowsze wpisy

    • Znalezienie siebie (i innych…) w rocznikach online
    • Jak skonfigurować Bitcoin ASIC miner
    • Chris Martin ma urodziny w Disneylandzie z Dakotą Johnson
    • Co to jest teren Superfund?
    • Fishing-bait bloodworms have bee-sting bites
    • Władca Much
    • A Beginner’s Guide to Pegging
    • 42 Healthy Crockpot Soup Recipes
    • Tina Fey Biografia
    • Nike wydało 15 000 dolarów na specjalną maszynę tylko po to, aby Florida State center Michael Ojo’s shoes

    Archiwa

    • Kwiecień 2021
    • Marzec 2021
    • Luty 2021
    • Styczeń 2021
    • Grudzień 2020
    • Listopad 2020
    • Październik 2020
    • Wrzesień 2020
    • Sierpień 2020
    • Lipiec 2020
    • Czerwiec 2020
    • Maj 2020
    • Kwiecień 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Zaloguj się
    • Kanał wpisów
    • Kanał komentarzy
    • WordPress.org
    Posterity WordPress Theme