標題:
如何改變觸發方式
[打印本頁]
作者:
lucky12345
時間:
2010-9-10 18:12
標題:
如何改變觸發方式
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If UCase([b20001]) = "K" Then
[g19000:H20000] = [ g19001:H20001].Value
End If
If [b20005] >= 22 Then [g1:H19000] = ""
Application.EnableEvents = True
End Sub
以上程式碼目前使用中.......
現在我有個新的需求.......要改變b20001的觸發方式
當b20001>=1 [g19000:H20000] = [ g19001:H20001].Value 複製一次
當b20001>=2 只要數字改變 [g19000:H20000] = [ g19001:H20001].Value 複製一次
當b20001>=3 只要數字改變................................................................. 複製一次
ps
當b20001=文字就不能觸發)
請問各位大大 以上程式瑪可否修改? 謝謝您的指導
作者:
Hsieh
時間:
2010-9-10 18:32
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If IsNumeric([b20001]) Then
[g19000:H20000] = [ g19001:H20001].Value
ElseIf [b20005] >= 22 Then
[g1:H19000] = ""
End If
Application.EnableEvents = True
End Sub
複製代碼
是否是這樣的意思?
作者:
lucky12345
時間:
2010-9-10 18:57
可以了
謝謝版主指導
作者:
lucky12345
時間:
2010-9-11 16:55
Hsieh 謝謝您不吝指導
您所提供的程式碼.......我再三的測試 ,發現與我的需求.有一點差異
是觸發位置問題.....如下
我的需求,只允許b20001>=1...條件之下.....只b20001數值改變一次,就允許觸發一次
但是您提供的程式碼只要在任一儲存格打入=1+1按enter.......也會觸發一次
不知如何解決?........再三麻煩您 真是謝謝您
作者:
GBKEE
時間:
2010-9-11 17:21
回復
4#
lucky12345
改用 Worksheet_Change 事件 試試看
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address(0, 0) = "B20001" And Target > 1 Then [g19000:H20000] = [ g19001:H20001].Value
If Target.Address(0, 0) = "B20005" And Target >= 22 Then [g1:H19000] = ""
Application.EnableEvents = True
End Sub
複製代碼
作者:
lucky12345
時間:
2010-9-11 18:34
本帖最後由 lucky12345 於 2010-9-11 18:40 編輯
謝謝各位大大幫忙
不知為何只試用成功一次 請幫我查看附檔 謝謝
哇!不能上傳耶!
作者:
GBKEE
時間:
2010-9-11 18:48
回復
6#
lucky12345
上傳檔案 只接受下列的副檔名 chm, pdf, zip, rar, tar, gz, bzip2, gif, jpg, jpeg, png
如不是上列 的檔案需壓縮 為 zip, rar 的壓縮檔上傳
作者:
lucky12345
時間:
2010-9-12 07:12
謝謝各位大大幫忙
寄上附檔 請幫我查看 謝謝
作者:
GBKEE
時間:
2010-9-12 15:19
回復
8#
lucky12345
附檔 的B208 >=22 B205是空白的
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("B201", "B205")) Is Nothing Then
If [B201] > 1 Then [g190:H200] = [ g191:H201].Value
If [B205] >= 22 Then [g1:H190] = ""
End If
Application.EnableEvents = True
End Sub
複製代碼
作者:
oobird
時間:
2010-9-12 15:46
若你曾經出現錯誤而讓程式中途跳出的話,你必須單獨執行這一句:
Application.EnableEvents = True
作者:
lucky12345
時間:
2010-9-13 14:41
本帖最後由 lucky12345 於 2010-9-13 21:05 編輯
不知怎麼了.......連以前的程式碼都不能用
作者:
et5323
時間:
2010-9-13 20:14
飙哭,你没有看10楼的回复。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)