首页 > 解决方案 > VBA 中的 Range.Formula 不接受输入范围

问题描述

所以我有这段代码,它在一张名为的工作表上找到一个特定的字符串,Master Trainings并找到它右边的单元格的地址。没关系。在此之前,我有一段代码创建一行并将相同的文本放入单元格中,例如 D4。w这是上面行的 r1c1 地址(即3在这种情况下)。我有NewCourseCell它完美地返回了我想要的单元格的地址,但我不确定为什么最后一行无法在该单元格中创建我想要的公式。

Dim findRng25 As Range
Dim foundRng25 As Range
Set findRng25 = Sheets("Master Trainings").Range("A:A")
Set foundRng25 = findRng25.Find(Cells(w + 1, 4).Value)

Dim C25 As Variant
C25 = Cells(foundRng25.Row, foundRng25.Column + 1).Address(0, 0)

NewCourseCell = Cells(w + 1, 5).Address
Range(NewCourseCell).Formula = "=B9*'Master Trainings'!" & C25 & ",0)"

标签: excelvbaexcel-formularange

解决方案


正如@PEH 的评论中提到的,这部分公式有点没用 - ",0)"。只有一个),0不需要。

这是一些最小的代码,如果您有Master Trainings工作表,则可以使用:

Public Sub TestMe()

    Dim c25 As String
    c25 = "D10"
    Range("B2").Formula = "=B9*'Master Trainings'!" & c25

End Sub

推荐阅读