返回列表 上一主題 發帖

請問此程序宣告用那個較省資源??

請問此程序宣告用那個較省資源??

本帖最後由 t8899 於 2014-10-12 14:51 編輯

1. 請問此程序宣告用那個(或如何修改)較省資源??
2. 用 Private Sub Worksheet_Change() 為何出現 事件程序的宣告與同名事件的描述不相符

Private Sub Worksheet_Calculate()
' Private Sub Worksheet_Change(ByVal Target As Range)
'  Private Sub Worksheet_Change()

Dim rng As Range
For Each rng In Range("AL5:AL15")  'Range("AL5:AL15") 為dde連結
m = rng - rng.Offset(0, 9)
'------------------------------
If m > rng.Offset(0, 8) Then
MsgBoxTest 0, rng.Offset(0, -1) & "  注意 ", "提示訊息", vbSystemModal, 0, 2000
  Application.EnableEvents = False
rng.Offset(0, 9) = rng
Application.EnableEvents = True
End If
'------------------------------------------
If m < -rng.Offset(0, 8) Then
MsgBoxTest 0, rng.Offset(0, -1) & " 注意 ", "提示訊息", vbSystemModal, 0, 2000
  Application.EnableEvents = False
rng.Offset(0, 9) = rng
Application.EnableEvents = True
End If
'------------------------------------------------
Next
End Sub

本帖最後由 t8899 於 2014-10-13 06:59 編輯
回復  t8899


    依據你的需求宣告變數與哪一個較省資源無關?
請詳看VBA的說明Private Sub Workshee ...
GBKEE 發表於 2014-10-13 05:45


1.target 是指作用儲存格,還是一塊區域?
2.Private Sub Worksheet_Calculate()
   Private Sub Worksheet_Change(ByVal Target As Range)
此兩種宣告有何不同?

TOP

回復  t8899  
可在工作表上 選取多重範圍然後按下刪除鍵
試試看Private Sub Worksheet_Change()
沒有預 ...
GBKEE 發表於 2014-10-13 06:59


1.Set rg = Intersect(Target, Range("AL5:AL15"))
For Each cl In rg
2.For Each rg In Range("AL5:AL15")
請教此兩種語法有何不同???

TOP

回復  t8899
GBKEE 發表於 2014-10-13 07:55


謝謝指導!

TOP

        靜思自在 : 要比誰更受誰.不要比誰更怕誰。
返回列表 上一主題