我有一个名为processRowBegin的全局变量,它包含进程开头的行号。我还有一个名为processRowEnd的全局变量,它包含进程结束的行号。
我要做的是为活动工作表上的两列C列和E列创建一个图表,其中所选行的范围是从processRowBegin到processRowEnd。我遇到的问题是我不知道如何使用带有变量的范围(行,列)语法中的行。我已经研究过这个问题,到目前为止还没有找到有效的解决方案。我尝试使用(行,列)语法,首先使用(行,列)中行的变量名称。这不起作用并导致图片中的错误[使用范围错误行的变量] [1}。
然后我尝试实现我通过其他用户的问题找到的解决方案(下面的代码),但仍然收到相同的错误。如何在VBA中实现这一目标?
Range(("C" & processRowBegin):("C" & processRowEnd)).Select
Range(("E" & processRowBegin):("E" & processRowEnd)).Select
我是Excel VBA的初学者以及编程,非常感谢帮助。这是我完成一个重要工作项目的最后一步。如果有人想查看我的整个代码,请告诉我。
答案 0 :(得分:5)
你会这样做:
Range("C" & processRowBegin & ":C" & processRowEnd).Select
Range使用两个单元格或一个字符串来表示范围。
由两个单元格完成:
Range(Cells(processRowBegin,3),Cells(processRowEnd,3)).Select
一对夫妇注意到:
应该避免使用select并简单地执行单元格所需的操作。有关如何避免此问题的详细信息,请参阅此POST
应始终将所有范围对象限定为其父资料。如果使用Cells(),他们也需要合格
实施例
With WorkSheets("Sheet1")
.Range(.Cells(processRowBegin,3),.Cells(processRowEnd,3)).Value = .Range(.Cells(processRowBegin,5),.Cells(processRowEnd,5)).Value
End With