Excel VBA将公式写入单元格,引用依赖于I的数字和也依赖于I的工作表

Excel VBA将公式写入单元格,引用依赖于I的数字和也依赖于I的工作表,excel,vba,for-loop,text,formula,Excel,Vba,For Loop,Text,Formula,有人能给我指点一下如何正确地写出这个公式吗 Sub WriteFormulaTextAndNumbersDependentOnI() Dim xNumber As Integer xNumber = InputBox ("Choose I") For I = 1 To xNumber Worksheets("Sheet1").Cells(1, 1 + I).Formula = "= & 2,10 + 0,01 * (I - 1)'" & Sheets(I + 1)

有人能给我指点一下如何正确地写出这个公式吗

Sub WriteFormulaTextAndNumbersDependentOnI()
Dim xNumber As Integer
xNumber = InputBox ("Choose I")
    For I = 1 To xNumber
    Worksheets("Sheet1").Cells(1, 1 + I).Formula = "= & 2,10 + 0,01 * (I - 1)'" & Sheets(I + 1).Name & "'!B12"
    Next I
End Sub
这里的要点是在不同的单元格中写下一个名称,用计算出的数字(2.10+0.01*(I-1))和另一张纸上的文本:

假设我们在表2中有: B12=你好,世界

假设我们在第3页中有: B12=你很酷

然后我们应该进入第1页: I=1将在单元格B2中给出一个值/文本,值/文本为:“2.10+0.01*(1-1)B12”=“2.10 Hello World” I=2将在单元格C2中给出一个值/文本,值/文本为:“2.10+0.01*(2-1)B12”=“2.11你很酷!” 等等

有什么建议吗

谢谢你的建议

//姜饼

使用:

  • Concatenate()
    工作表函数,用于在同一字符串中混合数字和文本

  • Text()
    工作表函数,用于将数字格式化为字符串

详情如下:

Worksheets("Sheet1").Cells(2, 1 + I).Formula = "=concatenate(TEXT(2.10 + 0.01*(" & I & "-1),""0.00""), "" "", " & Sheets(I + 1).Name & "!B12)"
请注意:

  • 我使用
    单元格(2,1+I)
    在B2,C2中写入。。。根据你的叙述

  • 我使用点(
    )作为十进制分隔符:您可能希望根据十进制分隔符惯例将所有点更改为逗号

谢谢DisplayName!:)经过一番周折后,基于您的优点,我最终得到了这一行代码,我的代码工作得非常完美<代码>代码工作表(“Sheet1”).单元格(2,41+(I-1)*8.Formula=“=连接(文本(2)、(0)”、“.”、文本(1)、(0)”、“.”、文本(1+1*(“&I&”-1)、“0”)、“、”、“构造”、“文本(1+1*(“&I&”-1)、“0”)、“、”、“:、”、“:”、“、”、“、”、“、”、“、”、“、”、“、”、”、“、”、“、”、”、“、”、”、“、”、”、“、”、”、”、“、”、”、”、”、“、”、”、”、“、”、”、”,祝你一周愉快^^