在Excel VBA中selectvariables范围内的所有非空白单元格

我有我在Excel上的数据集。 从列B开始,它具有从B3到具有周期性变大的variables的连续数据(例如,今天是B114,但是明天数据可以延伸到B116)。 单元格B中的数据是连续的,不会被删除。 对于列B中的每一行连续数据,我也想select列B-AG的行。 但是,B之后的行没有连续的数据。

例如:从B3到B120有连续的数据。 我想select范围B3:AG120。

我在VBA中编写的代码不起作用。 它正确地停在B120(在这个例子中),但是,一旦它到达C-AG列中的非连续数据,它就会出现并select超过120的行。我不肯定为什么这个代码不工作,任何帮助非常感激!

为了logging,工作表中几乎每个单元格中都有公式。 然而,只有一些公式用数据填充单元格。 我想select每个单元格,而不pipe它是否填充了数据如果它在我的范围内。 否则,我不想select它。 例如,过去的B120中有空单元格,其中有公式。 我不想把这些放在我的范围内。 但是,如果D40中有一个空单元格(在B3和AG120之间),我想将其包含在select中。

Dim LR As Long, cell As Range, rng As Range With Sheets("Sortable(2)") LR = .Range("B" & Rows.Count).End(xlUp).Row For Each cell In .Range("B3:B" & LR) If cell.Value <> "" Then If rng Is Nothing Then Set rng = cell Else Set rng = Union(rng, cell) End If End If Next cell rng.Select End With 

 Dim lastVal As Range, sht As Worksheet Set sht = Sheets("Sortable(2)") Set lastVal = sht.Columns(2).Find("*", sht.Cells(1, 2), xlValues, _ xlPart, xlByColumns, xlPrevious) Debug.Print lastVal.Address sht.Range("B2", lastVal).Resize(, 32).Select 'select B:AG