kch*_*ngg -1 excel intellisense vba excel-2016
好吧,这可能是一个非常愚蠢的问题,但我在写作时的预测文本只是偶尔发生。我目前正在使用 Excel 2016。
键入会Range(打开工具提示:
但是,打字.Range(在With Sheets(SName)不不打开工具提示:

有人可以帮忙吗?非常感谢!
Excel 无法计算出对象类型Sheets(SName)是什么,因此IntelliSense无法提供提示。
这是意料之中的,因为该Sheets集合同时包含Worksheet 和 Chart对象。这意味着它不知道Range集合的参数应该是什么——甚至不知道它是一个集合。(想想.Add方法 - 每个对象类型的不同参数!)
但是,快速测试表明,如果您使用它,它仍然无法识别 Object 类型Worksheets(SName)——即使Worksheets集合中的所有对象都是Worksheet对象。
以下代码确实允许 Excel 识别对象类型,从而允许 IntelliSense 显示:
Option Explicit 'Always put this at the top of your Module!
Sub DataRoll()
Dim wsTMP As Worksheet, SName As String
SName = "Testing"
Set wsTMP = ThisWorkbook.Worksheets(SName)
With wsTMP
.Range 'IntelliSense will pop up as soon as you add "("
End With
Set wsTMP = Nothing 'Tidy up after ourselves
End Sub
Run Code Online (Sandbox Code Playgroud)