簡體   English   中英

在VBA For循環中使用兩個以上范圍

[英]Using more than two ranges in a VBA For loop

因此,我嘗試使用For循環在Excel中的三個單獨列中進行操作。

Sub dostuff()
  Dim lRw As Long, C As Range

  ' Get number of active rows by finding last row index.
  lRw = Range("A" & Rows.Count).End(xlUp).Row

  For Each C In Range("B1:B" & lRw, "H1:H" & lRw)
  ' stuff happens
  Next
End Sub

當我僅如上所述指定一個或兩個列范圍時,這很好用,但是當我嘗試添加第三個列范圍時,它失敗了:

For Each C In Range("B1:B" & lRw, "H1:H" & lRw, "M1:M" & lRw)

有沒有辦法遍歷三列(或更多列)而不是兩列?

在循環之前,只需做一個聯合以合並您的范圍

Dim loopRange as Range
Set loopRange = Union(Range("B1:B" & lRw),Range("H1:H" & lRw),Range("M1:M" & lRw))
For Each C In loopRange
    'stuff
Next C
Sub Tester()
Dim c As Range, lRw As Long

    lRw = 5
    For Each c In Range("B1:B" & lRw & ",H1:H" & lRw & ",M1:M" & lRw).Cells
        Debug.Print c.Address(False, False)
    Next c

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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