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

Come eliminare intere colonne in base al valore dell'intestazione in Excel?

In molti casi, potrebbe essere necessario eliminare le intere colonne in base al valore dell'intestazione in Excel. Ad esempio, è necessario eliminare tutte le colonne che contengono il valore "vecchio" nell'intestazione. In questo tutorial, ti mostreremo i metodi per eliminare intere colonne in base al valore dell'intestazione nei dettagli.

Elimina intere colonne in base al valore dell'intestazione con il codice VBA
Elimina intere colonne in base al valore dell'intestazione con Kutools per Excel


Elimina intere colonne in base al valore dell'intestazione con il codice VBA

È possibile eliminare intere colonne in base al valore dell'intestazione con il codice VBA. Si prega di fare quanto segue.

1. Stampa altro + F11 tasti contemporaneamente per aprire il file Applicazione Microsoft Visual Basic finestra.

2. Nel Applicazione Microsoft Visual Basic finestra, fare clic inserire > Modulo. Quindi copia e incolla il codice sottostante nella finestra del modulo.

Codice VBA: elimina intere colonne in base al valore dell'intestazione

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

Note:

1) nel codice, "vecchio"È il valore dell'intestazione su cui si desidera eliminare l'intera colonna. Modifica manualmente il valore dell'intestazione. E A1: D1 è l'intervallo di colonne che desideri utilizzare.
2) Questo codice fa distinzione tra maiuscole e minuscole.

3. premi il F5 chiave per eseguire il codice, l'intera colonna con un'intestazione uguale al testo specificato verrà eliminata immediatamente.


Elimina intere colonne in base al valore dell'intestazione con Kutools per Excel

Con Kutools for Excel'S Seleziona celle specifiche utility, puoi selezionare facilmente tutte le colonne che contengono prima un determinato valore di intestazione, quindi eliminare queste colonne selezionate contemporaneamente. Si prega di fare quanto segue.

Prima di applicare Kutools for Excel, Per favore scaricalo e installalo prima.

1. Selezionare l'intervallo che contiene le colonne da eliminare, quindi fare clic su Kutools > Seleziona > Seleziona celle specifiche. Vedi screenshot:

2. Nel Seleziona celle specifiche finestra di dialogo, selezionare il Colonna intera opzione nel Tipo di selezione sezione e nel file Tipo specifico elenco a discesa, selezionare Equivale opzione, quindi digitare il valore dell'intestazione nella casella seguente. E infine fare clic su OK pulsante. Vedi screenshot:

3. Fare clic sul OK in un'altra finestra di dialogo che si apre, quindi le colonne che contengono il valore di intestazione specificato vengono selezionate immediatamente.

4. Fare clic con il pulsante destro del mouse sull'intestazione della colonna selezionata, quindi fare clic su Elimina dal menu di scelta rapida. Quindi tutte le colonne selezionate vengono eliminate contemporaneamente.

  Se vuoi avere una prova gratuita (30-day) di questa utilità, fare clic per scaricarlo, quindi andare ad applicare l'operazione secondo i passaggi precedenti.


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (12)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Scusa se questo sembra super semplice, ma questa è la prima volta che provo vba. Usando questo come lo applicherei per eliminare più intestazioni di colonna. In realtà sto cercando di mantenere solo alcune colonne di intestazione ed eliminare il resto di un elenco di modifiche.
Questo commento è stato fatto dal moderatore sul sito
Nel primo codice copia semplicemente la 4a riga e cambia il "vecchio" nel nome della seconda colonna e funzionerà
Questo commento è stato fatto dal moderatore sul sito
Ehi! Funziona bene finché non hai due colonne contigue con la stessa intestazione. Supponiamo che il tuo intervallo sia A1:A5 e A2 e A3 abbiano l'intestazione "vecchio". Eliminerà A2, ma poi A3 si sposterà nel posto che A2 occupava e il codice lo salterà, poiché guarderà il nuovo A3, la cella successiva nel suo intervallo.
Questo commento è stato fatto dal moderatore sul sito
Ciao Elia,
Come hai detto, A2 e A3 hanno la stessa intestazione "vecchia". Ma sono nella stessa colonna, dopo aver applicato il codice, l'intera colonna A verrà rimossa immediatamente.
Non sono sicuro di aver capito il tuo punto. Sarebbe bello se potessi fornire uno screenshot di ciò che stai cercando di fare.
Questo commento è stato fatto dal moderatore sul sito
Ciao, è possibile farlo con più nomi di colonne?
Questo commento è stato fatto dal moderatore sul sito
Ciao Marco,
Prova il codice qui sotto. Nell'ottava riga, racchiudere ogni nome di colonna tra virgolette doppie e separarle con una virgola. Spero di poter aiutare. Grazie.

Sub DeleteSpecificColumn()

Dim xFNum, xFFNum, xCount As Integer

Dim xStr come stringa

Dim xArrName come variante

Dim MR, xRg come intervallo

On Error Resume Next

Imposta MR = Intervallo ("A1:N1")

xArrName = Array("old", "new", "get") 'racchiudi ogni nome di colonna tra virgolette doppie e separale con virgola

xCount = MR.Cont

xStr = xNomeArr(xFNum)

Per xFFNum = xCount a 1 passaggio -1

Imposta xRg = Celle(1, xFFNum)

Per xFNum = 0 A UBound(xArrName)

xStr = xNomeArr(xFNum)

Se xRg.Value = xStr Allora xRg.EntireColumn.Delete

Avanti xFNum

Successiva

End Sub
Questo commento è stato fatto dal moderatore sul sito
Penso che la riga 12 debba essere modificata per far funzionare il codice. Riga originale 12 "Set xRg = Cells(1, xFFNum)" riga modificata 12 "Set xRg = MR(1, xFFNum)"
Sub DeleteSpecificColumn()
Dim xFNum, xFFNum, xCount As Integer
Dim xStr come stringa
Dim xArrName come variante
Dim MR, xRg come intervallo
On Error Resume Next
Imposta MR = Intervallo ("A1:N1")
xArrName = Array("old", "new", "get") 'racchiudi ogni nome di colonna tra virgolette doppie e separale con virgola
xCount = MR.Cont
xStr = xNomeArr(xFNum)
Per xFFNum = xCount a 1 passaggio -1
Imposta xRg = MR(1, xFFNum)
Per xFNum = 0 A UBound(xArrName)
xStr = xNomeArr(xFNum)
Se xRg.Value = xStr Allora xRg.EntireColumn.Delete
Avanti xFNum
Successiva
End Sub
Questo commento è stato fatto dal moderatore sul sito
Cosa succede se le intestazioni iniziano dalla 4a riga
Questo commento è stato fatto dal moderatore sul sito
L'esempio VBA afferma che il codice eliminerà tutte le colonne le cui intestazioni CONTIENE "vecchio". Questo non è il caso. L'operatore = cancellerà solo le corrispondenze esatte. È necessario utilizzare l'operatore LIKE con un carattere jolly.
Codice fisso:Sub DeleteSpecifcColumn()
Imposta MR = Intervallo ("A1:D1")
Per ogni cella in MR
Se cell.Value LIKE "old*" Quindi cell.EntireColumn.Delete
Successiva
End Sub

Questo commento è stato fatto dal moderatore sul sito
Ciao, grazie per la tua correzione e condivisione. 
Questo commento è stato fatto dal moderatore sul sito
Hola, tengo una hoja de excel con vari dati, digamos 4 columnas y 12 file, me gustaría poder imprimir cada fila en un folio separato en una plantilla, es decir, tenemos una hoja con vari nombres y apellidos y teléfono, quiero imprimir tantas páginas como filas tenga la hoja de excel, he inte tado varias cosas pero no encuentro la forma. Grazie di antemano
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Se desideri stampare ogni riga in una pagina separata nel foglio di lavoro, ecco un suggerimento per inserire interruzioni di pagina ogni riga 1 e quindi stamparle.
I metodi forniti in questo articolo potrebbero farti un favore. Per favore, prova. Grazie.
Come inserire un'interruzione di pagina ogni X righe in Excel?[/url]
https://www.extendoffice.com/documents/excel/1774-excel-insert-page-break-every-row.html
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL