我听说过很多关于.Select
在Excel VBA 中使用的可理解的憎恶,但我不确定如何避免使用它.我发现如果我能够使用变量而不是Select
函数,我的代码将更加可重用.但是,ActiveCell
如果不使用,我不确定如何引用事物(如等)Select
.
我发现这篇关于范围的文章和这个例子关于不使用select的好处却找不到怎么样的东西?
这是我正在使用的代码,我遇到了这个问题.我是Excel的新手,我无法弄清楚出了什么问题.
Private Sub cmdRecord_Click()
Sheets("BxWsn Simulation").Range("Result").Select //This is the line with the problem, as excel told me.
Selection.Copy
Sheets("Reslt Record").Select
Sheets("Reslt Record").Range("A5000").End(xlUp).Offset(1).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("CuCon Simulator").Select
Application.CutCopyMode = False
Range("Improvement").Select
End Sub
Run Code Online (Sandbox Code Playgroud)
错误是Range类的Select方法通过VBA失败,错误1004.任何想法?
谢谢.
编辑:
所以我只是将代码更改为
Sheets("BxWsn Simulation").Select
Range("Result").Select
Run Code Online (Sandbox Code Playgroud)
我相信这就是你的意思,让它活跃起来?但是我仍然得到对象'_Worksheet'的方法'范围'失败,错误1004