Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Prova con qualcosa del genere:
'---
Sub EliminaColonneTabelle()
Const sTitoliColonneDaEliminare As String = "AE,AF,AG,AH,AI,Colonna6"
Dim ws As Worksheet
Dim oLo As ListObject
Dim arrTitoliColonneDaEliminare As Variant, v As Variant
arrTitoliColonneDaEliminare = Split(sTitoliColonneDaEliminare, ",")
On Error GoTo Errore
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case "Foglio1", "Foglio2"
'Per i fogli elencati qui sopra non viene eseguita alcuna azione
Case Else
'tutti i fogli con un nome differente da quelli indicati nel precedente Case verranno lavorati
For Each oLo In ws.ListObjects
With oLo
For Each v In arrTitoliColonneDaEliminare
If Not IsError(Application.Match(v, .HeaderRowRange, 0)) Then
.ListColumns(v).Delete
End If
Next v
End With
Next oLo
End Select
Next ws
Riprendi:
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.EnableEvents = True
End With
Exit Sub
Errore:
MsgBox "Errore " & Err.Number & vbNewLine & Err.Description, vbCritical, "Errore VBA"
Resume Riprendi
End Sub
'---
Nota che in questa costante:
Const sTitoliColonneDaEliminare As String = "AE,AF,AG,AH,AI,Colonna6"
Vanno riportati i titoli delle colonne per cui si vuole effettuare l'eliminazione delimitati da una virgola e senza spazi tra un titolo e il successivo delimitato dalla virgola.