隐藏excel中的所有重复列

时间:2017-06-21 22:29:54

标签: excel vba excel-vba

如果第8行中的文字相同,我该如何隐藏所有重复的列。

我有一些材料。具有相同编号的多个列用于BOM。想要显示第8行中带有宏的唯一值,但也要使用另一个宏取消隐藏所有列。

我确定这很简单,但不知道从哪里开始。

由于

1 个答案:

答案 0 :(得分:1)

试试这个:

Option Explicit
Dim last_col, col, a As Integer
Dim unique_materials(100), material As String


Sub show_all_columns()
    last_col = Range("XFD8").End(xlToLeft).Column
    For col = 1 To last_col
        Columns(col).Hidden = False
    Next col
End Sub

Sub hide_duplicates()
    Erase unique_materials
    last_col = Range("A8").End(xlToRight).Column
    a = 0
    For col = 1 To last_col
        material = Cells(8, col)
        If UBound(Filter(unique_materials, material)) > -1 Then
            Columns(col).Hidden = True
        Else
            unique_materials(a) = material
            a = a + 1
        End If
    Next col
End Sub