標題:
[發問]
不知道哪裡出問題 執行階段錯誤
[打印本頁]
作者:
j88141
時間:
2014-3-13 21:35
標題:
不知道哪裡出問題 執行階段錯誤
本帖最後由 j88141 於 2014-3-13 21:38 編輯
不知道哪裡做錯
執行不出來
謝謝各位指教
[attach]17756[/attach]
Private Sub Worksheet_Change(ByVal myRange As Range)
Set myRange = Worksheets(1).Range("A1")
Range("A1") = "=SUM(B1:B10)" '儲存格A1 等於 SUM(B1:B10)
If Range("A1") >= Range("E1") And Range("A1") <= Range("G1") Then
'如果 儲存格A1 大於等於 儲存格E1 和 小於儲存格G1的話
MsgBox Range("D1") & 和& & Range("F1"), vbOKOnly
'顯示.....
ElseIf Range("A1") < Range("E1") Then
'如果儲存格A1小於儲存格E1
Range("A1").Interior.ColorIndex = 3
'儲存格顯示紅色
ElseIf Range("A1") > Range("F1") Then
'如果儲存格A1大於儲存格F1
MsgBox Range("E1") & 和& & Range("G1"), vbCritical
'顯示.....
End If
End Sub
作者:
owen06
時間:
2014-3-14 00:12
回復
1#
j88141
Private Sub Worksheet_Change(ByVal myRange As Range)
Application.EnableEvents = False
Set myRange = Sheet1.Range("A1")
Range("A1") = "=SUM(B1:B10)" '儲存格A1 等於 SUM(B1:B10)
If Range("A1") >= Range("E1") And Range("A1") <= Range("G1") Then
'如果 儲存格A1 大於等於 儲存格E1 和 小於儲存格G1的話
MsgBox Range("D1") & 和& & Range("F1"), vbOKOnly
'顯示.....
ElseIf Range("A1") < Range("E1") Then
'如果儲存格A1小於儲存格E1
Range("A1").Interior.ColorIndex = 3
'儲存格顯示紅色
ElseIf Range("A1") > Range("F1") Then
'如果儲存格A1大於儲存格F1
MsgBox Range("E1") & 和& & Range("G1"), vbCritical
'顯示.....
End If
Application.EnableEvents = True
End Sub
複製代碼
作者:
j88141
時間:
2014-3-14 00:22
回復
2#
owen06
照你這樣輸入
可是程式好像也不理我
附檔案給你
剛好剛剛升級成中學生
可以下載附件了
[attach]17761[/attach]
作者:
Hsieh
時間:
2014-3-14 08:17
回復
3#
j88141
Worksheet_Change事件程序,是在工作表內容改變時觸發
你在參數中設置了ByVal myRange As Range
代表改變的儲存格是myRange
你沒必要在程序內又設置Set myRange = 工作表1.Range("A1")
雖然這樣設置如果是在同一工作表內並無不可
但是,如果要在程序中用到取得當前變化之儲存格時就會喪失
猜測看看是否是你要的
Private Sub Worksheet_Change(ByVal myRange As Range)
If Intersect(myRange, [B1:B10]) Is Nothing Then Exit Sub '變動儲存格不在B1:B10則退出程序
Range("A1") = Application.Sum([B1:B10]) '儲存格A1 等於 SUM(B1:B10)
If Range("A1") >= Range("E1") And Range("A1") <= Range("G1") Then
'如果 儲存格A1 大於等於 儲存格E1 和 小於儲存格G1的話
MsgBox Range("D1") & 和& & Range("F1"), vbOKOnly
'顯示.....
ElseIf Range("A1") < Range("E1") Then
'如果儲存格A1小於儲存格E1
Range("A1").Interior.ColorIndex = 3
'儲存格顯示紅色
ElseIf Range("A1") > Range("F1") Then
'如果儲存格A1大於儲存格F1
MsgBox Range("E1") & "和&" & Range("G1"), vbCritical
'顯示.....
End If
End Sub
複製代碼
作者:
j88141
時間:
2014-3-15 22:14
回復
4#
Hsieh
可以用~謝謝
作者:
j88141
時間:
2014-3-16 12:15
回復
4#
Hsieh
可以再請教Hsieh 版主
比如說如果我想在
儲存格 B5 加入
=COUNTIF(E6,"蘋果")+COUNTIF(E10,"蘋果")+COUNTIF(E14,"蘋果")+COUNTIF(E18,"蘋果")+COUNTIF(E22,"蘋果")
儲存格B7 加入
=COUNTIF(E8,"蘋果")+COUNTIF(E11,"香蕉")+COUNTIF(E15,"香蕉")+COUNTIF(E19,"香蕉")+COUNTIF(E23,"香蕉")
的話
程式碼就不能執行了
那程式碼該如何改寫呢?
謝謝Hsieh 版主幫忙
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)