[英]Get column x's Cells from a Range of Cells in Excel VBA
我有一個單元格范圍,比方說:存儲在Range變量中的Range(“ A1:D20”)。 就我而言,范圍實際上是一個命名范圍。 例如
Set rngList = Range("LIST")
我正在嘗試使用“ for each”循環僅遍歷第2列中的單元格。編輯:這是一個相對參考,而不是絕對的:范圍的第二列。
例如
for each rngCell in rngList.Columns(2)
//Do stuff
next
.Columns(2)不起作用。 有沒有簡單的方法可以做到這一點?
干杯
在.Columns(2)
之后添加.Cells
:
For Each rngCell In Range("LIST").Columns(2).Cells
Debug.Print rngCell
Next
您可以使用B列(有效)直接從現有范圍中創建另一個范圍,也可以在進行填充之前檢查現有范圍中的每個單元格是否在第2列中:
方法1(創建一個導數范圍):
Sub method1()
Dim rngList As Range
Dim rngList2 As Range
Set rngList = Range("LIST")
Set rngList2 = Range("B" & rngList.Row, Range("B" & (rngList.Row + rngList.Rows.Count - 1)))
For Each rngCell In rngList2
rngCell.Value = "hey1"
Next rngCell
End Sub
方法2(檢查單元格是否在第2列中):
Sub method2()
Dim rngList As Range
Set rngList = Range("LIST")
For Each rngCell In rngList
If rngCell.Column = 2 Then
rngCell.Value = "hey2"
End If
Next rngCell
End Sub
嘗試這個
For Each rngCell In Intersect(rngList, rngList.Parent.Columns(2))
' //Do stuff
Next
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.