如何在vba中将变量放入公式中

时间:2018-05-01 12:42:01

标签: excel vba variables excel-formula

脚本如下:

Sub Macro1()

Lastrow1 = ThisWorkbook.Sheets("Sheet1").Cells(Rows.Count,5).End(xlDown).Row

For y = 2 To Lastrow1

If Cells(y, 6) <> "" Then
    Cells(y, 7).Formula = "=Networkdays(E2,F2,$S$2:$S$14)"

Else
    Exit For
End If

Next y

End Sub

我的问题从这里的公式开始;例如,我想选择E2,F2和那些常量“$ S $ 2:$ S $ 14”,然后循环到E3,F3等,直到在“F列”中它找不到任何东西,循环结束。

对此有何提示?可能这已被问了好几次,但一旦你开始,问题不仅在于缺乏知识,而且缺乏提出正确问题的技巧。

2 个答案:

答案 0 :(得分:0)

可能类似下面的代码。
它找到最后一行(使用xlUp而不是xlDown)并将公式放在第2行和G列的最后一行之间。

Public Sub InsertFormula()

    Dim LastRow As Long

    With ThisWorkbook.Worksheets("Sheet1")

        LastRow = .Cells(.Rows.Count, 6).End(xlUp).Row

        'Put the formula in the range G2:G & LastRow
        .Range(.Cells(2, 7), .Cells(LastRow, 7)).Formula = "=Networkdays(E2,F2,$S$2:$S$14)"
    End With

End Sub

答案 1 :(得分:0)

怎么样:

Sub Macro1()

Lastrow1 = ThisWorkbook.Sheets("Sheet1").Cells(Rows.Count, 5).End(xlDown).Row

For y = 2 To Lastrow1
    If Cells(y, 6) <> "" Then
        Cells(y, 7).Formula = "=Networkdays(E" & y & ",F" & y & ",$S$2:$S$14)"
    Else
        Exit For
    End If
Next y

End Sub