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

Cum să ștergeți coloane întregi pe baza valorii antetului în Excel?

În multe cazuri, poate fi necesar să ștergeți întreaga coloană pe baza valorii antetului în Excel. De exemplu, trebuie să ștergeți toate coloanele care conțin valoarea „vechi” în antet. În acest tutorial, vă vom arăta metode de ștergere a coloanelor întregi pe baza valorii antetului din detalii.

Ștergeți coloane întregi pe baza valorii antetului cu codul VBA
Ștergeți coloane întregi pe baza valorii antetului cu Kutools pentru Excel


Ștergeți coloane întregi pe baza valorii antetului cu codul VBA

Puteți șterge coloane întregi pe baza valorii antetului cu codul VBA. Vă rugăm să faceți următoarele.

1. presa Alt + F11 tastele simultan pentru a deschide Aplicația Microsoft Visual Basic fereastră.

2. În Aplicația Microsoft Visual Basic fereastră, faceți clic pe Insera > Module. Și apoi copiați și lipiți codul de mai jos în fereastra Module.

Cod VBA: ștergeți coloane întregi pe baza valorii antetului

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

notițe:

1) în cod, „vechi”Este valoarea antetului pe care doriți să ștergeți întreaga coloană. Vă rugăm să modificați manual valoarea antetului. Și A1: D1 este gama de coloane pe care doriți să o utilizați.
2) Acest cod face distincție între majuscule și minuscule.

3. apasă pe F5 pentru a rula codul, întreaga coloană cu un antet egal cu textul specificat va fi ștearsă imediat.


Ștergeți coloane întregi pe baza valorii antetului cu Kutools pentru Excel

Cu Kutools pentru Excel'S Selectați celule specifice utilitar, puteți selecta cu ușurință toate coloanele care conțin prima anumită valoare a antetului, apoi puteți șterge simultan aceste coloane selectate. Vă rugăm să faceți următoarele.

Înainte de a aplica Kutools pentru Excel, Vă rugăm să descărcați-l și instalați-l mai întâi.

1. Selectați intervalul care conține coloanele pe care trebuie să le ștergeți, apoi faceți clic pe Kutools > Selectați > Selectați celule specifice. Vedeți captura de ecran:

2. În Selectați celule specifice caseta de dialog, selectați Întreaga coloană opțiune în Tipul de selecție secțiune și în secțiunea Tipul specific lista derulantă, selectați este egală cu opțiune, apoi tastați valoarea antetului în următoarea casetă. Și în cele din urmă faceți clic pe OK buton. Vedeți captura de ecran:

3. Faceți clic pe OK butonul dintr-o altă casetă de dialog care apare, apoi coloanele care conțin valoarea specificată a antetului sunt selectate imediat.

4. Faceți clic dreapta pe antetul coloanei coloanei selectate, apoi faceți clic pe Șterge din meniul cu clic dreapta. Apoi toate coloanele selectate sunt șterse simultan.

  Dacă doriți să aveți o încercare gratuită (30-zi) a acestei utilitati, vă rugăm să faceți clic pentru a-l descărca, și apoi mergeți pentru a aplica operația conform pașilor de mai sus.


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (12)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Îmi pare rău dacă pare super de bază, dar este prima dată când încerc vba. Folosind acest lucru, cum l-aș aplica pentru a șterge mai multe anteturi de coloană. De fapt, încerc să păstrez doar anumite coloane de antet și să șterg restul unei liste în schimbare.
Acest comentariu a fost redus la minimum de moderatorul de pe site
În primul cod, doar copiați al 4-lea rând și schimbați „vechiul” în numele a doua coloană și va funcționa
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hei! Acest lucru funcționează bine până când aveți două coloane învecinate cu același antet. Să presupunem că intervalul tău este A1:A5, iar A2 și A3 au antetul „vechi”. Acesta va șterge A2, dar apoi A3 se va muta în locul pe care îl ocupa A2, iar codul îl va omite, deoarece se va uita la noul A3, următoarea celulă din intervalul său.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna Elias,
După cum ați menționat, A2 și A3 au același antet „vechi”. Dar sunt în aceeași coloană, după aplicarea codului, toată coloana A va fi eliminată imediat.
Nu sunt sigur că vă înțeleg punctul de vedere. Ar fi bine dacă ați putea oferi o captură de ecran a ceea ce încercați să faceți.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut, este posibil să faci asta cu mai multe nume de coloane?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi Mark,
Încercați codul de mai jos. În al optulea rând, includeți fiecare nume de coloană cu ghilimele duble și separați-le prin virgulă. Sper că pot ajuta. Mulțumesc.

Sub DeleteSpecifcColumn()

Dim xFNum, xFFNum, xCount As Integer

Dim xStr As String

Dim xArrName ca variantă

Dim MR, xRg As Range

La data de eroare CV următoare

Setați MR = Interval ("A1:N1")

xArrName = Array(„vechi”, „nou”, „obține”) „închideți fiecare nume de coloană cu ghilimele duble și separați-le prin virgulă

xCount = MR.Count

xStr = xArrName(xFNum)

Pentru xFFNum = xCount To 1 Step -1

Set xRg = Cells(1, xFFNum)

Pentru xFNum = 0 To UBound(xArrName)

xStr = xArrName(xFNum)

Dacă xRg.Value = xStr Atunci xRg.EntireColumn.Delete

Următorul xFNum

Pagina Următoare →

End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cred că linia 12 trebuie schimbată pentru ca codul să funcționeze. Linia inițială 12 „Set xRg = Cells(1, xFFNum)” a modificată linia 12 „Set xRg = MR(1, xFFNum)”
Sub DeleteSpecifcColumn()
Dim xFNum, xFFNum, xCount As Integer
Dim xStr As String
Dim xArrName ca variantă
Dim MR, xRg As Range
La data de eroare CV următoare
Setați MR = Interval ("A1:N1")
xArrName = Array(„vechi”, „nou”, „obține”) „închideți fiecare nume de coloană cu ghilimele duble și separați-le prin virgulă
xCount = MR.Count
xStr = xArrName(xFNum)
Pentru xFFNum = xCount To 1 Step -1
Setați xRg = MR(1, xFFNum)
Pentru xFNum = 0 To UBound(xArrName)
xStr = xArrName(xFNum)
Dacă xRg.Value = xStr Atunci xRg.EntireColumn.Delete
Următorul xFNum
Pagina Următoare →
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ce se întâmplă dacă anteturile încep din al 4-lea rând
Acest comentariu a fost redus la minimum de moderatorul de pe site
Exemplul VBA afirmă că codul va șterge toate coloanele ale căror anteturi CONTIN „vechi”. Nu este cazul. Operatorul = va șterge doar potrivirile exacte. Trebuie să utilizați operatorul LIKE cu un wildcard.
Cod fix: Sub DeleteSpecifcColumn()
Setați MR = Interval ("A1:D1")
Pentru fiecare celulă din MR
Dacă celulă.Valoare LIKE „vechi*” Apoi celulă.Coloană întreagă.Șterge
Pagina Următoare →
End Sub

Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, vă mulțumesc pentru corectare și distribuire. 
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hola, tengo una hoja de excel cu varios date, digamos 4 columns and 12 filas, me would power print each fila in a folio separated in a template, es decir, tenemos una hoja con varios nombres and apellidos and phone, quiero print tantas pagess como filas tenga la hoja de excel, he inte tado varias cosas pero no encuentro la forma. Gracias de antemano
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Dacă doriți să imprimați fiecare rând într-o pagină separată din foaia de lucru, iată o sugestie ca să introduceți întreruperi de pagină la fiecare rând și apoi să le imprimați.
Metodele furnizate în acest articol vă pot face o favoare. Vă rugăm să încercați. Mulțumesc.
Cum se inserează o pauză de pagină la fiecare X rânduri în Excel?[/url]
https://www.extendoffice.com/documents/excel/1774-excel-insert-page-break-every-row.html
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL