脚本如下:
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列”中它找不到任何东西,循环结束。
对此有何提示?可能这已被问了好几次,但一旦你开始,问题不仅在于缺乏知识,而且缺乏提出正确问题的技巧。
答案 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