我正在嘗試從作業表中的一系列單元格中提取一個字串,以在 If 陳述句中進行測驗以確定要采取的操作。除錯突出顯示以下行作為錯誤的原因:
testValue = Sheets("Issue Reference").testRange.Value
但我不知道為什么這是一個問題,也許是 .Value 屬性?有任何想法嗎?完整代碼如下:
Private Sub SubGroupList_Click()
Dim selection As String
Dim rng As Range
Dim testRange As Range
Dim i As Integer
Dim testValue As String
selection = SubGroupList.Value
If failedComponentTrack = 1 Then
Set rng = Range("C3:C10")
ElseIf failedComponentTrack = 2 Then
Set rng = Range("E3:E10")
ElseIf failedComponentTrack = 3 Then
Set rng = Range("G3:G10")
Else
End If
i = 1
For Each testRange In rng
testValue = Sheets("Issue Reference").testRange.Value
If selection = testValue Then
Sheets("DataStore").Cells(LB, 27).Value = selection
failedComponentTrack = i
End If
i = i 1
Next testRange
End Sub
uj5u.com熱心網友回復:
這應該有效。在您設定的 rng陳述句中使用作業表參考。這可以清理,但我認為您可以通過這種方式更好地理解解決方案。
對源作業表的參考已經在 yout rng 變數中。因此,無需在您的 for each 回圈條件中再次參考。
這里的語法是錯誤的
testValue = Sheets("Issue Reference").testRange.Value
因為 Worksheet Object Sheets("Issue Reference")沒有 testRange 屬性。
這是您的代碼的更正版本:
Private Sub SubGroupList_Click()
Dim selection As String
Dim rng As Range
Dim testRange As Range
Dim i As Integer
Dim testValue As String
selection = SubGroupList.Value
If failedComponentTrack = 1 Then
Set rng = Sheets("Issue Reference").Range("C3:C10")
ElseIf failedComponentTrack = 2 Then
Set rng = Sheets("Issue Reference").Range("E3:E10")
ElseIf failedComponentTrack = 3 Then
Set rng = Sheets("Issue Reference").Range("G3:G10")
Else
End If
i = 1
For Each testRange In rng
testValue = testRange.Value
If selection = testValue Then
Sheets("DataStore").Cells(LB, 27).Value = selection
failedComponentTrack = i
End If
i = i 1
Next testRange
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/440551.html
