当工作表A9中名为“计算器”的单元格中的值与工作表“数据” .Values中的列O中的值之一匹配时,我希望显示一个名为“问题”的弹出表单。在A9单元格中是公式的结果。
此代码有效,但是当我打开其他Excel工作簿时,它显示“下标超出范围错误”。我希望它适用于此特定工作簿,而不会影响我打开的其他工作簿。
Private Sub Worksheet_Calculate()
If IsError(Application.Match(Range("A9").Value, Sheets("Data").Columns("O"), 0)) Then Exit Sub
If Application.Match(Range("A9").Value, Sheets("Data").Columns("O"), 0) Then
Question.Show
End If
End Sub
答案 0 :(得分:0)
您可以使代码仅引用存储代码的工作簿:
Private Sub Worksheet_Calculate()
With ThisWorkbook
If IsError(Application.Match(.ActiveSheet.Range("A9").Value, .Sheets("Data").Columns("O"), 0)) Then Exit Sub
If Application.Match(.ActiveSheet.Range("A9").Value, .Sheets("Data").Columns("O"), 0) Then
Question.Show
End If
End With
End Sub
...最好将ActiveSheet
替换为特定的图纸参考。