我使用名称管理器创建了一个命名范围。它被称为Vol_Check
。它的范围是工作簿。
如果它的范围是工作簿,为什么我不能在其他工作表或ThisWorkbook或模块的VBA代码中看到它。 即使我试图直接引用它,它也行不通。 这是一个我无法工作的代码示例。
Private Sub CommandButton1_Click()
If ThisWorkbook.Sheets("sheet1").Range("Vol_Check").Value <> 1 Then
MsgBox ("Some message ")
End If
End Sub
答案 0 :(得分:0)
如果您使用的是命名范围&#34; Vol_Check&#34; ,请使用以下代码从命名范围内的其中一个单元格中读取值。
在示例中,让我们说您的命名范围包括范围B2:B2,然后代码行Range("Vol_Check")(1, 1)
引用 Cell B2
Private Sub CommandButton1_Click()
' just for debug - shows the first row and first column in the Named Range
MsgBox Range("Vol_Check")(1, 1)
If Range("Vol_Check")(1, 1) <> 1 Then
MsgBox ("Some message ")
End If
End Sub
答案 1 :(得分:0)
请尝试使用Worksheet.Evaluate
:
Private Sub CommandButton1_Click()
If ThisWorkbook.Sheets(1).Evaluate("Vol_Check").Value <> 1 Then
MsgBox "Some message "
End If
End Sub
答案 2 :(得分:0)
问题解决了。 事实证明,我没有使用名称管理器工具正确定义命名范围。即使我在标记它&#39;工作簿&#39;在范围内,我的另一个错误是搞乱了。 感谢大家。 富