【问题标题】:VBA to select sheet based on cell value of another sheetVBA根据另一个工作表的单元格值选择工作表
【发布时间】:2016-09-28 03:42:31
【问题描述】:

在工作表 1(viva-2) 上,第 11 行有一个带有是/否的下拉菜单(验证)。 默认情况下,值为“否”,工作表 11(Manage-d) 单元格范围 A11:D30 应禁用/锁定。 选择“是”,用户应该能够选择 Sheet11(Manage-d),并且应该解锁 A11:D30 范围内的单元格。

我是 VBA 新手,但我正在努力学习。

Public Sub Worksheet_SelectionChange(ByVal Target As Range)


    Dim RNG                         As Range


    If Target.Row = 11 Then
     If Range("11").Value = "YES" Then
            Sheets("Manage-d").Select
            Sheets("Manage-d").Range("A11:D30").Locked = False
            Sheets("Manage-d").Range("A11:D30").Activate
        Else
             Sheets("Manage-d").Range("A11:D30").Locked = True
     End If
    End If

【问题讨论】:

  • Range("11") 不是有效的范围参考。

标签: vba excel


【解决方案1】:

Range 对象表示单个单元格或一系列单元格。此代码对我有用

 If Range("A1").Value = "YES" Then '' Range A1 is the first cell
        Sheets("Manage-d").Select
        Sheets("Manage-d").Range("A11:D30").Locked = False
        Sheets("Manage-d").Range("A11:D30").Activate
    Else
         Sheets("Manage-d").Range("A11:D30").Locked = True
 End If

【讨论】:

  • @Thomas Inzina,我对您提供的代码有两个担忧。 1.它按预期工作,当下拉值为yes时启用/解锁单元格。我可以输入数据,但问题是当我单击它时它没有突出显示单元格(在工作表管理-d 上) 2. 是否可以提示用户更改下拉值,当他尝试当下拉列表的值为“NO”时单击锁定的单元格
  • @Thomas Inzina,你想让我发表其他问题吗?回答这个问题。
  • 我认为发布新问题是有意义的。因此,我根据政策发布了另一个问题。如果可能,请提供帮助stackoverflow.com/questions/39776578/…
【解决方案2】:

我使用Worksheet_Change 而不是Worksheet_SelectionChange,这样用户就不必点击另一个单元格来触发宏。

假设下拉(验证)在Range("A11")

 Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("A11")) Is Nothing Then
        With Sheets("Manage-d")

            .Range("A11:D30").Locked = (UCase(Target.Value) = "NO")

            If UCase(Target.Value) = "YES" Then
                Application.Goto .Range("A11:D30"), True
            End If

        End With
    End If

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多