Excel 删除表格格式中的排序图标
我使用了“Format as Table(表格格式)”,每个列的顶部都有排序图标。如何从某些行中删除排序图标并保留其余行?您可以删除所有排序按钮(解决方法) 1-选择数据范围 2-格式如表所示 3-右键单击-->选择Excel 删除表格格式中的排序图标,excel,vba,Excel,Vba,我使用了“Format as Table(表格格式)”,每个列的顶部都有排序图标。如何从某些行中删除排序图标并保留其余行?您可以删除所有排序按钮(解决方法) 1-选择数据范围 2-格式如表所示 3-右键单击-->选择表格-->转换为范围 这将保留格式,但排序按钮将被删除 或者,如果要保留某些排序图标,则必须使用VBA 1-假设这是您的格式化表 2-编写此函数 Sub RemoveSortArrows() Application.ScreenUpdating = False
表格
-->转换为范围
这将保留格式,但排序按钮将被删除
或者,如果要保留某些排序图标,则必须使用VBA 1-假设这是您的格式化表 2-编写此函数
Sub RemoveSortArrows()
Application.ScreenUpdating = False
For Each col In Range("A1:J1")
If Not (col.Column = 1 Or col.Column = 4) Then
col.AutoFilter Field:=col.Column, Visibledropdown:=False
End If
Next
Application.ScreenUpdating = True
End Sub
3-这应该是结果
您可以删除所有排序按钮(解决方法) 1-选择数据范围 2-格式如表所示 3-右键单击-->选择
表格
-->转换为范围
这将保留格式,但排序按钮将被删除
或者,如果要保留某些排序图标,则必须使用VBA 1-假设这是您的格式化表 2-编写此函数
Sub RemoveSortArrows()
Application.ScreenUpdating = False
For Each col In Range("A1:J1")
If Not (col.Column = 1 Or col.Column = 4) Then
col.AutoFilter Field:=col.Column, Visibledropdown:=False
End If
Next
Application.ScreenUpdating = True
End Sub
3-这应该是结果
您可以删除所有排序按钮(解决方法) 1-选择数据范围 2-格式如表所示 3-右键单击-->选择
表格
-->转换为范围
这将保留格式,但排序按钮将被删除
或者,如果要保留某些排序图标,则必须使用VBA 1-假设这是您的格式化表 2-编写此函数
Sub RemoveSortArrows()
Application.ScreenUpdating = False
For Each col In Range("A1:J1")
If Not (col.Column = 1 Or col.Column = 4) Then
col.AutoFilter Field:=col.Column, Visibledropdown:=False
End If
Next
Application.ScreenUpdating = True
End Sub
3-这应该是结果
您可以删除所有排序按钮(解决方法) 1-选择数据范围 2-格式如表所示 3-右键单击-->选择
表格
-->转换为范围
这将保留格式,但排序按钮将被删除
或者,如果要保留某些排序图标,则必须使用VBA 1-假设这是您的格式化表 2-编写此函数
Sub RemoveSortArrows()
Application.ScreenUpdating = False
For Each col In Range("A1:J1")
If Not (col.Column = 1 Or col.Column = 4) Then
col.AutoFilter Field:=col.Column, Visibledropdown:=False
End If
Next
Application.ScreenUpdating = True
End Sub
3-这应该是结果
我想在Pankaj的回答中补充一点。您可以使用
Dim myTable As ListObject
Set myTable = ActiveSheet.ListObjects([the name of your table goes in here])
并在循环签名的中键入
For Each Cell In myTable.HeaderRowRange
我想在Pankaj的回答中补充一点。您可以使用
Dim myTable As ListObject
Set myTable = ActiveSheet.ListObjects([the name of your table goes in here])
并在
循环签名的中键入
For Each Cell In myTable.HeaderRowRange
我想在Pankaj的回答中补充一点。您可以使用
Dim myTable As ListObject
Set myTable = ActiveSheet.ListObjects([the name of your table goes in here])
并在
循环签名的中键入
For Each Cell In myTable.HeaderRowRange
我想在Pankaj的回答中补充一点。您可以使用
Dim myTable As ListObject
Set myTable = ActiveSheet.ListObjects([the name of your table goes in here])
并在
循环签名的中键入
For Each Cell In myTable.HeaderRowRange
我希望我错了,但我认为这是不可能的。你的意思是“从某些列中删除排序图标”@Kapol-这是可能的。看看我的答案。我希望我错了,但我认为这是不可能的。你的意思是“从某些列中删除排序图标”@Kapol-这是可能的。看看我的答案。我希望我错了,但我认为这是不可能的。你的意思是“从某些列中删除排序图标”@Kapol-这是可能的。看看我的答案。我希望我错了,但我认为这是不可能的。你的意思是“从某些列中删除排序图标”@Kapol-这是可能的。请看我的答案。非VBA方式只保留格式,而丢失表格的所有其他功能,如自动公式填充。所以我认为这不是期望的结果。至于VBA解决方案,请向您推荐:)@是的。。。但希望同时提供这两个选项,因为用户可能只需要以特定样式格式化数据,而不真正关心排序(您可以使用Data->sort
以任何方式对其进行排序。非VBA方式只保留格式设置,并丢失表的所有其他功能,如自动公式填充。因此,我认为这不是理想的结果。至于VBA解决方案,请向您推荐:)@是的……但是想要呈现这两个选项,因为用户可能只需要以特定的样式格式化数据,而不真正关心排序(您可以使用Data->sort
以任何方式对其进行排序。非VBA方式只保留格式设置,并丢失表的所有其他功能,如自动公式填充。因此,我认为这不是理想的结果。至于VBA解决方案,请向您推荐:)@是的……但是想要呈现这两个选项,因为用户可能只需要以特定的样式格式化数据,而不真正关心排序(您可以使用Data->sort
以任何方式对其进行排序。非VBA方式只保留格式设置,并丢失表的所有其他功能,如自动公式填充。因此,我认为这不是理想的结果。至于VBA解决方案,请向您推荐:)@是的……但希望同时提供这两个选项,因为用户可能只需要以特定样式格式化数据,而不真正关心排序(您可以使用data->sort
对其进行排序)。