我有一个表,该表具有许多列(包括自动过滤的标题),并且其中一些列仅包含标题,而没有其他数据。我想从命名表中删除这些列。
答案 0 :(得分:1)
要删除列,请选择电子表格的整个列。然后用鼠标右键单击所选列,然后选择“删除”。
请注意,按键盘上的Delete键只会删除内容,而不会完全删除该列。
请注意,此方法会删除电子表格的整个列,因此表格下的数据也会受到影响。
答案 1 :(得分:0)
这是给您的代码,下次尝试编写代码
Public Sub teste()
Call DeleteTableColumnNull("table")
End Sub
Public Sub DeleteTableColumnNull(ByVal TableObjectName As String)
Dim table As ListObject
Dim st As Worksheet
Dim cols As Range
Dim col As Range
Dim rows As Range
Dim row As Range
For Each st In ThisWorkbook.Worksheets
If tableExistInThisSheet(st, TableObjectName) Then
Set table = st.ListObjects(TableObjectName)
For Each col In table.Range.Columns
If Application.WorksheetFunction.CountA(col) = 1 Then
col.Delete
End If
Next col
End If
Next
End Sub
Public Function tableExistInThisSheet(st As Worksheet, TableObjectName As String) As Boolean
On Error GoTo f
Dim tb As ListObject
Set tb = st.ListObjects(TableObjectName)
tableExistInThisSheet = True
Exit Function
f:
End Function