2016-05-06 56 views
0

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

如何获取代码从第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行直到最后一行使用data-co德,为了这个作品是

    With report 
    .Range(.Cells(5, "K"), .Cells(.Rows.Count, "K").End(xlUp)).EntireRow.Select 
    End With 
    
  3. 选择“颜色”工作表
  4. 下一个可用的空白行粘贴行。可能会有多达40/50的工作表将数据粘贴到“颜色”工作表中,因此我需要将数据添加到下一行可用行中。

在此先感谢您。

+0

FWIW,当你说* *“在K列最后一个数据”,最好是从下仰望,然后从上往下。 – Jeeped

+1

仅供参考 - 最好的做法是[避免使用'.Select'](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)。我建议通读这篇文章,以了解如何直接处理数据。 – BruceWayne

回答

0

取决于你的代码实际在做什么,只需替换rowRange中的表达式即可。

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

瞧!

1

您有多种方式可以选择一系列的行。最简单的根据现有数据,你必须:

report.Range("K5").resize(lastrow - 4).EntireRow.Select 
1
Report.Range("B5:B" & lastrow).EntireRow.Select