我有一个名为" Get_Months"我试图在Sub中使用它。当我把它放在一个公式中时,我已经设法让事情发挥作用了:
Worksheets("Sheet1").Range("CO2:CO" & LastRow).FormulaR1C1 = "=IF(RC[10]=""DUMMY"",Get_Months(RC[-80],RC[-79] + 1),""ERROR"")"
我试图避免将公式放在纸张上,所以我尝试这样的事情:
Dim LastRow As Long
LastRow = Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Set SelectionRNG = Range("M2:N" & LastRow)
For Each rngRow In SelectionRNG.Rows
rngRows.Cells(1, 80) = Get_Months(rngRows.Cells(1, 1), rngRows.Cells(1, 2) + 1)
公共函数的语法(据我所知)是" Get_Months(Date1,Date2)。
任何人都可以给予的任何提示将不胜感激!
答案 0 :(得分:1)
您可以将公式转换为如下值:
With Range("CN2:CN" & LastRow)
.FormulaR1C1 = "=IF(RC[10]=""DUMMY"",Get_Months(RC[-80],RC[-79] + 1),""ERROR"")"
.Value = .Value
End With
答案 1 :(得分:0)
不要循环。
Dim LastRow As Long
LastRow = Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
With Range("CN2:CN" & LastRow)
.Value = Get_Months(.Cells(1, -80), .Cells(1, -79) + 1)
End With