我有Excel數據集。從列B開始,它具有從B3到連續的數據,這些數據週期性變大(例如,今天是B114,但明天數據可能擴展到B116)。單元格B中的數據處於連續狀態,並且不會被刪除。對於列B中的每一行連續數據,我也想選擇列B-AG的行。但是,B之後的行沒有連續的數據。在Excel中選擇變量範圍內的所有非空白單元格VBA
例如:從B3到B120有連續的數據。我想選擇範圍B3:AG120。
我在VBA中編寫的代碼無法正常工作。它在B120(在這個例子中)正確停止,但是,一旦它到達C-AG列中的非連續數據,它就會嚇倒並且選擇超過120的行。我不肯定爲什麼這個代碼不工作,任何幫助都是非常感激!
爲了記錄,在工作表中幾乎每個單元格中都有公式。然而,只有一些公式用數據填充單元格。我想選擇每個單元格,而不管它是否填充了數據如果它在我的範圍內。否則,我不想選擇它。例如,過去的B120中有空單元,其中有公式。我不想將這些列入我的範圍。但是,如果D40中有一個空單元格(在B3和AG120之間),我確實希望將其包含在選區中。
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
'.Range( 「B」 &Rows.Count).END(xlUp).Row'將計數細胞與公式。 – findwindow
是的,我意識到。這就是爲什麼它後跟一個if語句,如果它是空的,不會將它添加到範圍內 – Megan
您是否嘗試過使用cell.Text <>「」insead of cell.Value <>「」? – Absinthe