我目前在Excel 2010中,并在此版本中创建了此电子表格和代码。我的同事(使用电子表格)正在使用Excel 2007(尚未升级)。他们收到错误信息,但我不是。
我设置了以下代码,以便根据ComboBox
中的选择,指定的单元格将填充“N / A”或保持/变为空白。
Private Sub ComboBoxSite6_Change()
If ComboBoxSite6.Value = "N/A" Then
Range("Site6Cells").Select
Selection = "N/A"
Else
If ComboBoxSite6.Value <> "N/A" Then
Range("Site6Cells").Select **This line highlights with the error when debugged
Selection = ""
End If
End If
End Sub
组合框的更改和“N / A”的填充(或没有)都发生在工作簿的同一页上,因此不应该成为问题。但即便如此,我还是尝试在每个“Range ...”行之前添加以下内容:Sheets(“Site Prep”)。这也不起作用。
此外,我有5个其他列和组合框执行相同的操作,在此代码之前以相同的方式编码,并且没有指出任何问题。
谁能告诉我问题可能是什么?这是一个向后兼容性问题吗?
答案 0 :(得分:0)
看起来名为“Site6Cells”的Range并不是以正确的方式存在。
命名范围可以是global(=整个工作簿的成员)或local(=工作表的成员)。如果您创建的命名范围是本地范围,则无法将其称为全局范围。
通过公式的功能区检查这个&gt;名称管理员&gt;属性为Scope
将此与您的同事进行比较,看看是否有所不同。
要更改它,您必须重新创建它(删除旧版本,创建新版本),或使用第三方名称管理器,或通过VBA更改范围。