使用VBA在Excel中查看和隐藏列

use*_*568 -2 excel vba excel-vba

我有一个工作表,其值在B:G列中。在单元格A1的同一工作表中,我使用数据验证(如A,B和C)制作了一个下拉列表。

我需要的是,当我选择单元格值A时,则B:C列需要可见,而其他列应从D:G中隐藏。同样,如果我从列表中选择B,则需要查看D:E和B:C以及F:G列。

你能帮我这个忙吗?

注意:我对VBA并不了解。

Ale*_*x P 5

尝试这个:

  1. 打开VBA编辑器(ALT + F11
  2. 双击 Sheet1
  3. 选择Worksheet左上角的下拉,Change在右上角的下拉
  4. 粘贴此代码

注意:这假设数据验证在单元格中 A1

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim allColumns As Range

    Set allColumns = Columns("B:G")
    allColumns.Hidden = True

    If Not Intersect(Target, Range("A1")) Is Nothing Then
        If Target.Value = "A" Then
            Columns("B:C").Hidden = False
        ElseIf Target.Value = "B" Then
            Columns("D:E").Hidden = False
        ElseIf Target.Value = "C" Then
            //Add more logic here
        End If
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)