我是VBA的新手,正在尝试创建一种预算工具产品。我试图遍历从D2开始并向下直到包含数据的单元格出现中断的一系列单元格。必须在工作表4之后的每个工作表上运行。在D2之后的D中,每个单元格都引用回到我的文档中称为“高级培训”的工作表。然后,我需要一个公式自动输入到培训课程右侧的文本框中(在4之后的页面的D列中)。此公式为"=B9*'Master Trainings!'XX"
,其中XX是“高级培训”页面上同名培训课程右侧的单元格。如果您可以让循环停止运行,那很好,但是我试图让它首先真正输入公式。我尝试使用引号将其手动输入,并与我要查找的“高级培训”中的值连接在一起,但它不起作用。这是我到目前为止再次尝试后的结果。
Dim findRng As Range
Dim foundRng As Range
Set findRng = Sheets("Master Trainings").Range("A:A")
Set foundRng = findRng.Find(Range("D2").Value)
Worksheets(TextBox1.Value).Range("E2").Formula = "=" & Worksheets(TextBox1.Value).Range("B9") & "*" & foundRng.Offset(0, 1).Value
答案 0 :(得分:0)
已修改:在'
中交换了!
和"=B9*'Master Trainings!'"
尝试一下:
Worksheets(TextBox1.Value).Range("E2").Formula = "=B9*'Master Trainings'!" & foundRng.Offset(0, 1).Address(False, False)
答案 1 :(得分:0)
这可以为我工作。我将C1指定为Variant只是为了使调试更容易。它是代码第7行之后的一个单元格,其中包含我想要的文本的行和列+1的地址(即,它在同一行的右侧查找一个单元格)。然后,我指定范围和公式,其中C1是公式中想要的单元格。
Name Date Address Country
0 Jessie 01/08/2018 738 Maple Ln US
1 Joe 01/15/2018 483 Watergate Pl, Annapolis, MD US
2 Frank 01/04/2018 934 West Ave, Franklin, TN US