如何捕获VBAvariables中的最后一个不缺less的行,以便以后重复引用?
我正试图启动一个电子表格,每个月有三列(1月 – 12月)。 如果这个月不是过去,那么第三列应该加上另外两个(否则为空)。 这应该从第6行应用到LastRow
。
我的问题是,我不能解决如何正确使用LastRow
。 它需要事先使用不同的列来定义,我可以回复没有任何缺失的值。
我一直试图在LastRow
捕获这一行,但我认为我必须做一些根本性的错误,因为我得到一个types不匹配的错误set sh.LastRow
:
Sub Prep_datadump() Dim sh As Worksheet Dim Dataset as Range Dim LastRow As Range Dim Month As Integer Set sh.Dataset.Range("C6:C" & .Range("C" & .Rows.Count).End(xlUp).Row) Set LastRow = Dataset.End(xlDown).Row For Month = 14 To 47 Step 3 If Cells(1, Month) >= Date Then Sh.Range(Cells(6, Month), Cells(LastRow, Month)).FormulaR1C1 = "=sum(RC[-2],RC[-1])" End If Next Month End Sub
您遇到问题的行( Set LastRow = Dataset.End(xlDown).Row
)尝试将Dataset
范围中底部单元格的行号作为整数指定给LastRow
variables。 当您首先将LastRow
定义为Range
,代码无法执行此操作,因为它是不同的variablestypes,因此您会收到不匹配错误。
尝试更改您的Dim LastRow As Range
线到Dim LastRow As Integer