標題:
[發問]
關於Worksheet_SelectionChange如何除錯?
[打印本頁]
作者:
av8d
時間:
2014-3-14 11:57
標題:
關於Worksheet_SelectionChange如何除錯?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngE As Range
end1 = [A65536].End(xlUp).Row
Set rngE = [E1].Resize(end1, 1)
If Not Intersect(Target, rngE) Is Nothing Then
If Target = "v" Then
Target = ""
Else
Target = "v"
End If
End If
End Sub
複製代碼
滑鼠當點一下E1則E1會自動打勾
但是當滑鼠按住E1往下拉到E2則會出現錯誤
是否能除錯?
如果真的不行~是否可以讓他不要跳出錯誤?
再次感謝各位大大!
作者:
huijuang
時間:
2014-3-14 13:24
好像是因為設定為非陣列,所以會出現錯誤
可以先加上On Error Resume Next 應該可以順利執行
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Dim rngE As Range
end1 = [A65536].End(xlUp).Row
Set rngE = [E1].Resize(end1, 1)
If Not Intersect(Target, rngE) Is Nothing Then
If Target = "v" Then
Target = ""
Else
Target = "v"
End If
End If
End Sub
複製代碼
作者:
owen06
時間:
2014-3-14 13:26
回復
1#
av8d
在if not 那排字的上一行輸入『on error resume next』,可以呼略錯誤,
可是你出現v後,再往下拉,v又都不見了耶,可以請問你這設計的目的嗎?
作者:
Hsieh
時間:
2014-3-14 15:51
回復
1#
av8d
除非是不可預期的錯誤,盡量避免使用On Error Resume Next
應針對錯誤點修正
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngE As Range
end1 = [A65536].End(xlUp).Row
Set rngE = [E1].Resize(end1, 1)
If Not Intersect(Target, rngE) Is Nothing Then
If Target(1) = "v" Then
Target(1) = ""
Else
Target(1) = "v"
End If
End If
End Sub
複製代碼
作者:
av8d
時間:
2014-3-14 16:31
本帖最後由 av8d 於 2014-3-14 16:34 編輯
回復
4#
Hsieh
謝謝H大的修正~也謝謝其他大大的幫忙~
讓我同時學習了兩樣寫法
我想請問是否有辦法
當滑鼠按住E1往下拉到E2的時候
E1、E2同時被打勾呢?再次感謝!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)