簡體   English   中英

從Excel VBA中的一系列單元格中獲取列x的單元格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM