Note: The other languages of the website are Google-translated. Back to English

Jak usunąć całe kolumny na podstawie wartości nagłówka w programie Excel?

W wielu przypadkach może być konieczne usunięcie całych kolumn na podstawie wartości nagłówka w programie Excel. Na przykład, musisz usunąć wszystkie kolumny, które zawierają w nagłówku wartość „stara”. W tym samouczku pokażemy szczegółowo metody usuwania całych kolumn na podstawie wartości nagłówka.

Usuń całe kolumny na podstawie wartości nagłówka z kodem VBA
Usuń całe kolumny na podstawie wartości nagłówka za pomocą Kutools for Excel


Usuń całe kolumny na podstawie wartości nagłówka z kodem VBA

Możesz usunąć całe kolumny na podstawie wartości nagłówka z kodem VBA. Wykonaj następujące czynności.

1. naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Aplikacja Microsoft Visual Basic okno.

2. w Aplikacja Microsoft Visual Basic okno, kliknij wstawka > Moduł. Następnie skopiuj i wklej poniższy kod do okna modułu.

Kod VBA: usuń całe kolumny na podstawie wartości nagłówka

Sub DeleteSpecifcColumn()
	Set MR = Range("A1:D1")
	For Each cell In MR
		If cell.Value = "old" Then cell.EntireColumn.Delete
	Next
End Sub

Uwagi:

1) w kodzie „stary”To wartość nagłówka, na podstawie której chcesz usunąć całą kolumnę. Zmień ręcznie wartość nagłówka. I A1: D1 to zakres kolumn, którego chcesz użyć.
2) W tym kodzie rozróżniana jest wielkość liter.

3. wciśnij F5 aby uruchomić kod, cała kolumna z nagłówkiem równym podanemu tekstowi zostanie natychmiast usunięta.


Usuń całe kolumny na podstawie wartości nagłówka za pomocą Kutools for Excel

Z Kutools dla programu Excel'S Wybierz określone komórki narzędzie, możesz łatwo wybrać wszystkie kolumny, które najpierw zawierają określoną wartość nagłówka, a następnie usunąć te wybrane kolumny jednocześnie. Wykonaj następujące czynności.

Przed złożeniem wniosku Kutools dla programu ExcelProszę pobierz i zainstaluj najpierw.

1. Wybierz zakres zawierający kolumny, które chcesz usunąć, a następnie kliknij Kutools > Wybierz > Wybierz określone komórki. Zobacz zrzut ekranu:

2. w Wybierz określone komórki w oknie dialogowym wybierz opcję Cała kolumna opcja w Typ wyboru sekcji i w Określony typ listę rozwijaną wybierz Równa się opcję, a następnie wpisz wartość nagłówka w poniższym polu. I na koniec kliknij OK przycisk. Zobacz zrzut ekranu:

3. Kliknij OK w innym wyskakującym oknie dialogowym, kolumny zawierające określoną wartość nagłówka są wybierane natychmiast.

4. Prawym przyciskiem myszy kliknij nagłówek wybranej kolumny, a następnie kliknij Usuń z menu po kliknięciu prawym przyciskiem myszy. Następnie wszystkie wybrane kolumny są usuwane jednocześnie.

  Jeśli chcesz skorzystać z bezpłatnego okresu próbnego (30-dzień) tego narzędzia, kliknij, aby go pobrać, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (12)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Przepraszam, jeśli wydaje się to bardzo proste, ale to jest mój pierwszy raz, gdy próbuję vba. Używając tego, jak zastosowałbym to do usunięcia wielu nagłówków kolumn. Właściwie staram się zachować tylko niektóre kolumny nagłówka i usunąć resztę zmieniającej się listy.
Ten komentarz został zminimalizowany przez moderatora na stronie
W pierwszym kodzie po prostu skopiuj 4 wiersz i zamień "stare" na nazwę drugiej kolumny i to zadziała
Ten komentarz został zminimalizowany przez moderatora na stronie
Hej! Działa to dobrze, dopóki nie masz dwóch sąsiednich kolumn z tym samym nagłówkiem. Załóżmy, że Twój zakres to A1:A5, a A2 i A3 mają „stary” nagłówek. Usunie A2, ale potem A3 przesunie się do miejsca, które zajmował A2, a kod pominie go, ponieważ będzie patrzył na nowy A3, następną komórkę w swoim zakresie.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Eliasie,
Jak wspomniałeś, A2 i A3 mają ten sam nagłówek „stary”. Ale są w tej samej kolumnie, po zastosowaniu kodu cała kolumna A zostanie natychmiast usunięta.
Nie jestem pewien, czy rozumiem twój punkt widzenia. Byłoby miło, gdybyś mógł dostarczyć zrzut ekranu przedstawiający to, co próbujesz zrobić.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, czy można to zrobić z wieloma nazwami kolumn?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Mark,
Wypróbuj poniższy kod. W ósmym wierszu proszę umieścić każdą nazwę kolumny w podwójnych cudzysłowach i oddzielić je przecinkami. Mam nadzieję, że mogę pomóc. Dziękuję Ci.

Sub UsuńOkreślonąKolumnę()

Dim xFNum, xFFNum, xCount jako liczba całkowita

Dim xStr jako ciąg

Dim xArrName jako wariant

Dim MR, xRg jako zakres

On Error Resume Next

Ustaw MR = Zakres("A1:N1")

xArrName = Array("old", "new", "get") 'ujmij każdą nazwę kolumny podwójnymi cudzysłowami i oddziel je przecinkami

xCount = MR.Count

xStr = xArrName(xFNum)

Dla xFFNum = xCount do 1 Krok -1

Ustaw xRg = Komórki (1, xFFNum)

Dla xFNum = 0 To UBound(xArrName)

xStr = xArrName(xFNum)

Jeśli xRg.Value = xStr Wtedy xRg.EntireColumn.Delete

Następny xFNum

Dalej

End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Myślę, że linia 12 musi zostać zmieniona, aby kod działał. Oryginalny wiersz 12 „Set xRg = Cells(1, xFFNum)” zmodyfikowany wiersz 12 „Set xRg = MR(1, xFFNum)”
Sub UsuńOkreślonąKolumnę()
Dim xFNum, xFFNum, xCount jako liczba całkowita
Dim xStr jako ciąg
Dim xArrName jako wariant
Dim MR, xRg jako zakres
On Error Resume Next
Ustaw MR = Zakres("A1:N1")
xArrName = Array("old", "new", "get") 'ujmij każdą nazwę kolumny podwójnymi cudzysłowami i oddziel je przecinkami
xCount = MR.Count
xStr = xArrName(xFNum)
Dla xFFNum = xCount do 1 Krok -1
Ustaw xRg = MR(1, xFFNum)
Dla xFNum = 0 To UBound(xArrName)
xStr = xArrName(xFNum)
Jeśli xRg.Value = xStr Wtedy xRg.EntireColumn.Delete
Następny xFNum
Dalej
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Co jeśli nagłówki zaczynają się od czwartego rzędu
Ten komentarz został zminimalizowany przez moderatora na stronie
Przykład VBA stwierdza, że ​​kod usunie wszystkie kolumny, których nagłówki ZAWIERAJĄ „stare”. Tak nie jest. Operator = usunie tylko dokładne dopasowania. Musisz użyć operatora LIKE z symbolem wieloznacznym.
Naprawiono kod: Sub DeleteSpecifcColumn()
Ustaw MR = Zakres("A1:D1")
Dla każdej komórki w MR
If cell.Value LIKE „old*” Then cell.EntireColumn.Delete
Dalej
End Sub

Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,Dziękuję za korektę i udostępnienie. 
Ten komentarz został zminimalizowany przez moderatora na stronie
Hola, tengo una hoja de excel con varios datos, digamos 4 columnas y 12 filas, me gustaría poder imprimir cada fila en un folio separado en una plantilla, es decir, tenemos una hoja con varios nombres y apellidos y teléfonáprimo quitant como filas tenga la hoja de excel, on inte tado varias cosas pero no encuentro la forma. Gracias de antemano
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Jeśli chcesz wydrukować każdy wiersz na osobnej stronie w arkuszu, oto sugestia, aby wstawić podziały stron co 1 wiersz, a następnie je wydrukować.
Metody przedstawione w tym artykule mogą wyświadczyć ci przysługę. Proszę spróbować. Dziękuję Ci.
Jak wstawić podział strony co X wierszy w programie Excel?[/url]
https://www.extendoffice.com/documents/excel/1774-excel-insert-page-break-every-row.html
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL