如何捕获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范围中底部单元格的行号作为整数指定给LastRowvariables。 当您首先将LastRow定义为Range ,代码无法执行此操作,因为它是不同的variablestypes,因此您会收到不匹配错误。

尝试更改您的Dim LastRow As Range线到Dim LastRow As Integer