2016-05-06 54 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