如何使用VBA循环遍历空行的数据?

我试图通过非连续的数据循环 – 基本上遍历所有在Range("K:M")有价值的单元格考虑到数据之间可能有一些空行,我将需要跳过和移动在Range("H4")上合并3个单元格到1

尝试不同的方法,但每次它击中空行停止。 下面更像是一个无限循环,它是我所需要的,但是在没有更多数据的时候,如何在某个时候突然出现。

 Sub GenerateStyleFabricColourV2() Dim srcData As Range Dim RowNum As Long RowNum = 4 Set srcData = Range("K:M") If Not IsEmpty(srcData.Value) Then Do While IsEmpty(RowNum) = False Cells(RowNum, 8).Value = Cells(RowNum, 11).Value & Cells(RowNum, 12).Value & Cells(RowNum, 13).Value RowNum = RowNum + 1 Loop End If Range("H4").Select Range(Selection, Selection.End(xlDown)).Select End Sub 

IsEmpty是指可能有或没有值(即空白或不空白)的单元格。 它不打算对整数做任何事情。

 Sub GenerateStyleFabricColourV2() Dim srcData As Range Dim rowNum As Long, lastRow As Long With Worksheets("sheet2") lastRow = Application.Max(4, _ .Cells(.Rows.Count, "K").End(xlUp).Row, _ .Cells(.Rows.Count, "L").End(xlUp).Row, _ .Cells(.Rows.Count, "M").End(xlUp).Row) With .Cells(4, "H").Resize(lastRow - 4 + 1, 1) .FormulaR1C1 = "=rc[3]&rc[4]&rc[5]" .Value = .Value2 End With End With End Sub 
 Sub GenerateStyleFabricColourV2() Dim srcData As Range, rcell As Range Set srcData = ThisWorkbook.Sheets("Sheet1").Range("K4:K" & ThisWorkbook.Sheets("Sheet1").Cells(Sheet1.Rows.Count, "K").End(xlUp).Row) For Each rcell In srcData.Cells rcell.Offset(0, -3).Value = rcell.Value & rcell.Offset(0, 1).Value & rcell.Offset(0, 2).Value Next rcell End Sub 

这非常简单。 我喜欢循环通过一列和使用偏移量。 我可能会过度简化它。

这个简单的代码非常简单有效,

对于= 1到拉斯特罗

如果单元格(a,1)=“”那么

goto lastline

在这里你可以把你的代码

lastLine所:

下一个