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

时间:2018-10-15 06:18:26

标签: 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).Name & "'!B12"
    Next I
End Sub

这里的要点是在不同的单元格中写一个名称,并带有计算出的数字(2.10 + 0.01 *(I-1))和另一张纸上的文字:

假设我们在Sheet2中有: B12 = Hello World

让我们说我们在Sheet3中有: B12 =你真酷!

然后我们应该进入Sheet1: 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你真酷! 等等。

有什么建议吗?

赞赏任何建议

// GingerBoy

1 个答案:

答案 0 :(得分:1)

使用:

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

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

如下:

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

看到:

  • 根据您的叙述,我使用Cells(2, 1 + I)用B2,C2书写...

  • 我使用点(.)作为小数点分隔符:您可能希望按照小数点分隔符约定将所有点都更改为逗号