我搜索但没找到我要找的东西。 我的目标是拥有大量的单元格,显示其他单元格中其他单元格的价值,如简单的“= 1月!BP $ 43”。 但是我想用循环添加它,这里有一个简化的例子:
For sorte = 0 To 5
For mois = 0 To 11
Sheets(2).Range(4+k, 1 + mois + j).Formula = "=Sheets(3 + mois).Cells(40+i, 2 + sorte)"
Next
j = j + 13
i=i+15
k=k+1
Next
我尝试了没有“”周围的“Sheets ...”“并且它可以工作,但只是插入值而不是公式。 任何的想法? 非常感谢
PS:j,i,k就是为了表明我还有其他变量来改变位置。
答案 0 :(得分:0)
请记住,引号之间的所有内容都将复制为字符串。每当要使用变量的值而不是变量名称时,都需要关闭引号:
For mois = 0 To 11
Sheets(2).Range(4+k, 1 + mois + j).Formula = "=Sheets(" & 3 + mois & ").Cells(" & 40+i & "," & 2 + sorte& ")"
Next
然而,仅仅使用Excel并复制到您需要的单元格会更容易吗?
答案 1 :(得分:0)
您需要使用Sheets(3 + mois).Name
放置工作表名称,并且最容易使用R1C1表示法引用行和列:
For sorte = 0 To 5
For mois = 0 To 11
Sheets(2).Cells(4+k, 1 + mois + j).FormulaR1C1 = "='" & Sheets(3 + mois).Name & "'!R" & (40+i) & "C" & (2 + sorte)
Next
j = j + 13
i=i+15
k=k+1
Next