最终,我试图在焦点远离工作簿时突出显示单元格。如何在工作表和书籍之间发送变量?
这里是我的代码(在ThisWorkbook
):
Public s As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
s = Selection
End Sub
Private Sub Workbook_Deactivate()
s.Interior.ColorIndex = xlColorIndexNone
s.Interior.Color = RGB(0, 0, 0)
End Sub
Private Sub Workbook_Activate()
s.Interior.ColorIndex = xlColorIndexNone
s.Interior.Color = RGB(100, 204, 204) ' Blue
End Sub
但我发现了遇到第一s.Interior.ColorIndex
错误:
Object variable or With block variable not set
下面是一些我的环境图像:
's = Selection' ==>'Set s = Selection',虽然'Set s = Target'也可以。 –
@JohnColeman我尝试了'Set s = Selection'并且得到了'运行时错误'91':对象变量或With block variable not set'与以前一样。 –
*这些模块在哪里?我复制了你的代码:1)标准代码模块中的公共'''声明,2)工作表模块中的'selection_change',以及3)工作簿模块中的'activate' /'deactivate' - 以及它们全部为我工作(使用'Set'后)。我的猜测是你没有使用Option Explicit。公共变量应该在标准代码模块中声明。如果没有,变量's'在'workbook'模块中将不可见。 –