将lastrow变量设置为从最后占用的行偏移3行

时间:2018-07-11 09:53:36

标签: excel vba excel-vba

我正在尝试设置变量lastrow。我希望它的值比我的Excel工作表的最后一个占用行少3行。更清楚地说,我当前的最后一个占用行是第50行。但是我希望将lastrow变量设置为47。 到目前为止,我的代码。

lastrow1 = ws2.Range("A" & Rows.Count).End(xlUp).Row - 3

2 个答案:

答案 0 :(得分:2)

四件事。

  1. 确保您正在使用预期的工作簿,例如ThisWorkbook
  2. 确保ws2是您打算使用的工作表
  3. 确保列A是您要用于查找最后一行的列
  4. 在尝试删除3之前,检查lastrow是否为> = 4。

    检查代码:

    lastRow1 = ws2.Range("A" & Rows.Count).End(xlUp).Row    
    lastRow1 = IIf(lastRow1 < 4, 1, lastRow1 - 3)
    

答案 1 :(得分:0)

尝试一下:

    ThisWorkbook.Sheets("Name of your sheet").Activate
    Dim cnt As Integer, lastrow As Double
    cnt = ActiveSheet.UsedRange.Rows.Count  'Counts no of rows
    'Assuming that you want value in column A
    lastrow = Range("A" & cnt-3).Value