簡體   English   中英

使用范圍的單元格引用循環遍歷范圍內的單元格

[英]Loop through cells in range using cell references for the Range

我正在嘗試使用這段代碼遍歷范圍內的單元格。 但它在此處給出的最后一條語句中引發錯誤

“對象不支持此屬性或方法”。

它的替代方案/解決方案是什么。 感謝您的回復。

Dim Rng As Range
Set Rng = Range(Cells(1, 1), Cells(1, lastcolTTR))
Rng.Select

For Each ct In TTRfile.Rng.Cells

我不知道該怎么TTRfilect聲明,但我知道Rng是一個Range ,這意味着TTRfile.Rng.Cells是一個問題,如果沒問題

如果ct是一個變體或范圍對象,那么您可以使用For Each並且創建循環的語法正確的方法是:

For Each ct In Rng.Cells

但是,如果ct是數字,就像ct = Rng.Cells.Count的情況一樣,那么您不能使用For Each並且必須使用遞增/遞減索引變量:

For i = 1 to ct

此外,您在設置Rng時隱式使用ActiveWorksheet ,您應該養成明確限定工作表的習慣。 如果TTRfile是工作表,則

Range(Cells(1, 1), Cells(1, lastcolTTR))

看起來像這樣:

TTRfile.Range(TTRfile.Cells(1, 1), TTRfile.Cells(1, lastcolTTR))

或這個:

With TTRfile
    .Range(.Cells(1,1), .Cells(1, lastcolTTR))
End With

說到lastcolTTR ,它是如何聲明的? 如果它不計算為數字,它可能會成為一個問題。 例如,如果它是一個變體,那么它就有可能包含一個范圍,如果該范圍包含多個單元格,您將收到錯誤消息。 此外,請確保您捕獲任何會導致lastcolTTR小於 1 的條件,因為Cells(1,0)會產生超出范圍的錯誤。

暫無
暫無

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

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