用Excel单元格中的定义值在VBA(Excel)中计数

我想在我的Excel VBAmacros计数,所以然后单元格正在改变+1的起始单元格:Sheet2!$ A1 – > next Cell Sheet2!$ A2

在我的工作表1中,我有一个由1开始的单元格,并通过单击button1(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" 

但它不起作用。 有任何想法吗 ?

 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" 

我想这就是你的意思,如果不是那么请提供一个更清晰的解释,我会相应地编辑答案。

当使用双引号将一个string传递给一个函数(在本例中为Range函数)时,Range函数只能明确地接受“A1”和R1C1 / [R] 1 [C] 1forms的地址。

 Sheets("Sheet2").Range("A1").Value = Sheets("Sheet1").Range("A1").Value 

不知道你想用button来实现,但为什么不尝试:

 Sheets("Sheet1").Range("A1").Value = Sheets("Sheet1").Range("A1").Value + 1 

每次执行该行时,这会将单元格A1中的值增加1。

另一种方法是使用Offset()

Sheets("Sheet2").Range("A1").Offset(Sheets("Sheet1").Range("A1")).Value = "My Input"