根据最后一行在Excel中选择多行

时间:2016-05-06 14:12:59

标签: excel vba excel-vba

我有一段代码,它根据K列中的最后一个数据从我的表中选择整行。如果我填充了第5行到第10行,它将选择第10行。

如何让代码从第5行一直到最后一行选择多行,如下所示?

由于

Sub selectlastrow()

Dim lastrow As Long
Dim report As Worksheet
Set report = Excel.ActiveSheet

Sheets("Risks").Select

lastrow = Range("K5:K48").End(xlDown).Row

report.Cells(lastrow, 2).EntireRow.Select

End Sub

跟进:

我坚持如何构建一段代码:

  1. 循环显示以数字673开头的所有工作表:(例如673:绿色,673:蓝色)
  2. 从第5行到最后一行使用数据选择这些工作表中的数据 - 适用于此的代码是

    With report
    .Range(.Cells(5, "K"), .Cells(.Rows.Count, "K").End(xlUp)).EntireRow.Select
    End With
    
  3. 选择" Colors"工作表
  4. 将行粘贴到下一个可用的空白行。可能有多达40/50的工作表,这些工作表将数据粘贴到" Colors"工作表所以我需要将数据添加到下一个可用行。
  5. 提前谢谢。

4 个答案:

答案 0 :(得分:2)

使用同时结合Range objectRange.Cells property

的单元格引用
with report
     .Range(.Cells(5, "K"), .Cells(.rows.count, "K").End(xlUp)).EntireRow.Select
end with

答案 1 :(得分:1)

您有多种方法可以选择行范围。根据您拥有的可用数据最简单:

report.Range("K5").resize(lastrow - 4).EntireRow.Select

答案 2 :(得分:1)

Report.Range("B5:B" & lastrow).EntireRow.Select

答案 3 :(得分:0)

根据您对代码的实际操作,只需替换rowRange内的表达式。

Dim rowRange As Range
Set rowRange = Range("a1:A8").Rows.EntireRow
rowRange.Select

瞧!