我正在循環瀏覽Excel中垂直選擇中的某些單元格,然後將該單元格作爲參數傳遞給過程。循環選擇單元格時出現對象所需的錯誤
我已經這樣做了,所以我沒有兩次ProcessCells的內容,在代碼中,一次爲while循環,第二次在For循環中。
如果我嘗試獲取寫出的單元格的值,則在for循環中它可以工作。 如果我將ProcessCells過程的內容放在for循環中,它也可以工作。
但是,如果我嘗試將其作爲參數傳遞,到ProcessCells,我得到一個錯誤
「必選對象」
下面是代碼,如果你想檢查一下出:
Sub loopThroughCells()
Dim c As Range
Dim autoSelect As String
Dim X, Y As Integer
autoSelect = Cells(3, 2).Value
If StrComp(autoSelect, "Y") = 0 Then
Y = 5
X = 4
While Not IsEmpty(Cells(Y, X).Value)
ProcessCells (Cells(Y, X))
Y = Y + 1
Wend
Else
For Each c In Selection
ProcessCells (c)
Next c
End If
End Sub
Sub ProcessCells(ce As Range)
End Sub
如何
個細胞(N,M)
從
Ç不同在選擇
?
錯誤發生在For循環中,但它不會在while循環中發生。
它應該可能是'For Each c In Selection.Cells'(你應該儘可能避免使用'Select'。另請參閱此文檔:http://stackoverflow.com/documentation/vba/7363/passing-arguments-byref-or-byval#t = 201701181030371271291 – R3uK
謝謝,但不幸的是,這並沒有解決問題。 –
你是否改變'ProcessCells'中的單元格?因爲你不能在'For Each'循環中改變一個元素的值(我知道,這很痛苦......) – R3uK