標題: [發問] range 方法 worksheet 物件失敗 [打印本頁] 作者: t8899 時間: 2020-7-31 07:36 標題: range 方法 worksheet 物件失敗
Private Sub Worksheet_Calculate()
If Sheets("即時行情").Range("az5") = 1 And Sheets("即時行情").Range("a2000").End(xlUp).Offset(1).Row = activewindow.VisibleRange.Row + activewindow.VisibleRange.Rows.count - 3 Then
Sheets("即時行情").Range("az5") = 2
Dim Aer
Set Aer = .Range("a2000").End(xlUp).Offset(-5)
ActiveWindow.ScrollRow = Aer.Row
Set Aer = Nothing
Sheets("即時行情").Range("az5") = 1
End If
如果我切到別的sheet 有時會出現 range 方法 worksheet 物件失敗,(錯在第一行)
我查的解決方法是必須先使用 Worksheet 物件的 Activate 方法啟用工作表,才能在沒有明確物件限定詞的情況下使用 Range 屬性。
上面程式不知如何改 ??作者: 准提部林 時間: 2020-8-1 12:22
第一行加這看看~~
If ActiveSheet.Name <> "即時行情" Then Exit Sub作者: t8899 時間: 2020-8-6 06:14
本帖最後由 t8899 於 2020-8-6 06:21 編輯
第一行加這看看~~
If ActiveSheet.Name "即時行情" Then Exit Sub
准提部林 發表於 2020-8-1 12:22
]回復 3#t8899
你程式碼有誤 Set Aer = .Range("a2000").End(xlUp).Offset(-5)
加入 With Sheets("即時行情") 試試看
[codePrivate Sub Worksheet_Calculate()
If Sheets("即時行情").Range("az5") = 1 And Sheets("即時行情").Range("a2000").End(xlUp).Offset(1).Row = ActiveWindow.VisibleRange.Row + ActiveWindow.VisibleRange.Rows.Count - 3 Then
Sheets("即時行情").Range("az5") = 2
Dim Aer
With Sheets("即時行情")
Set Aer = .Range("a2000").End(xlUp).Offset(-5)
End With
ActiveWindow.ScrollRow = Aer.Row
Set Aer = Nothing
Sheets("即時行情").Range("az5") = 1
End If
End Sub
[/code]作者: t8899 時間: 2020-8-6 10:01
程式碼不完整, 猜不出~~
程式第一行用 ON ERROR RESUME NEXT 吧!作者: t8899 時間: 2020-8-6 12:35
回復 t8899
程式碼不完整, 猜不出~~
程式第一行用 ON ERROR RESUME NEXT 吧!
准提部林 發表於 2020-8-6 10:46
Private Sub Worksheet_Calculate() 底下要好幾個條件,我只想針對這個條件, 放在第一行?其他條件也會跳過嗎?作者: 准提部林 時間: 2020-8-6 13:22
On Error GoTo 999
If Sheets("即時行情2").Range("az5") = 1 And _
Sheets("即時行情").Range("a2000").End(xlUp).Offset(1).Row = _
ActiveWindow.VisibleRange.Row + ActiveWindow.VisibleRange.Rows.Count - 3 Then
Sheets("即時行情").Range("az5") = 2
Dim Aer
Set Aer = Range("a2000").End(xlUp).Offset(-5)
ActiveWindow.ScrollRow = Aer.Row
Set Aer = Nothing
Sheets("即時行情").Range("az5") = 1
End If
999: On Error GoTo 0作者: GBKEE 時間: 2020-8-6 13:44