我在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发布于 2018-08-07 12:49:34
这对我来说是可行的。我将C1指定为一个变体,这样调试就更容易了。它是第7行代码之后的单元格,其中包含我想要的文本的行地址和column+1 (也就是说,它在同一行中向右查找一个单元格)。然后,我指定了范围和公式,其中C1是我想要的公式中的单元格。
Sheets(TextBox1.Value).Select
Dim findRng As Range
Dim foundRng As Range
Set findRng = Sheets("Master Trainings").Range("A:A")
Set foundRng = findRng.Find(Range("D2").Value)
Dim C1 As Variant
C1 = Cells(foundRng.Row, foundRng.Column + 1).Address(0, 0)
Range("E2").Formula = "=B9*'Master Trainings'!" & C1发布于 2018-08-06 19:04:14
编辑:交换'和!中的"=B9*'Master Trainings!'"
试试这个:
Worksheets(TextBox1.Value).Range("E2").Formula = "=B9*'Master Trainings'!" & foundRng.Offset(0, 1).Address(False, False)https://stackoverflow.com/questions/51708914
复制相似问题