我想在我的Excel VBA Macro中计算一次,所以单元格正在改变+1起始单元格:Sheet2!$ A1 - >下一个Cell Sheet2!$ A2
在我的工作表1中,我有一个以1开头的单元格,并通过单击按钮1(Sheet1中的单元格A1)来计数。
我的想法:
Sheets("Sheet2").Range("Sheet2!A Sheets("Sheet1").Range(Sheet1!A1).Value = "MY Input"
应该是这样的:
Sheets("Sheet2").Range("Sheet2!A Sheet1!A1).Value = "MY Input"
但它不起作用。任何想法?
答案 0 :(得分:2)
Sheets("Sheet2").Range("A" & Sheets("Sheet1").Range("A1").Value).Value = "My Input"
首先定义值并使用:
Dim r as long
r = Sheets("Sheet1").Range("A1").Value
Sheets("Sheet2").Range("A" & r).value = "My Input"
我认为这就是您的意思,如果没有,请提供更清晰的解释,我会相应地编辑答案。
答案 1 :(得分:0)
使用双引号时,将字符串传递给函数(在本例中为Range函数),但Range函数仅显式接受“A1”和R1C1 / [R] 1 [C] 1形式的地址符号。
Sheets("Sheet2").Range("A1").Value = Sheets("Sheet1").Range("A1").Value
不确定您是否希望使用按钮实现,但为什么不尝试:
Sheets("Sheet1").Range("A1").Value = Sheets("Sheet1").Range("A1").Value + 1
每次执行此行时,单元格A1的值都会增加1.
答案 2 :(得分:0)
另一种方法是使用Offset()
:
Sheets("Sheet2").Range("A1").Offset(Sheets("Sheet1").Range("A1")).Value = "My Input"