Re: [問題] EXCEL VBA陣列索引超出範圍(錯誤代碼9)

看板Office作者 (阿哈)時間3年前 (2020/08/13 12:55), 編輯推噓0(0011)
留言11則, 1人參與, 3年前最新討論串4/6 (看更多)
※ 引述《candysherry (阿哈)》之銘言: : s大 : 小弟還是不太明白S大的意思 : 可以再解說詳細一點嗎? : 謝謝 非常感謝S大 可以了ㄟ 解決我多年困擾的問題 不過 還有一個問題想要請教S大 Private Sub Worksheet_Calculate() If ActiveWorkbook.Name = ThisWorkbook.Name Then With Sheets("計算結果") If Not IsError(Range("D9")) Then If Not IsError(Range("B9")) Then If Not IsError(Range("B10")) Then If Not IsError(Range("A32")) Then If Not IsError(Range("B32")) Then If Not IsError(Range("G18")) Then If Not IsError(Range("G20")) Then If Not IsError(Range("G19")) Then If Not IsError(Range("G21")) Then If Not IsError(Range("G16")) Then If Not IsError(Range("G17")) Then If Not IsError(Range("G14")) Then If Not IsError(Range("G15")) Then If Not IsError(Range("G23")) Then If Not IsError(Range("G24")) Then If Not IsError(Range("h42")) Then If Not IsError(Range("H43")) Then If Not IsError(Range("H44")) Then If Not IsError(Range("G46")) Then End If End If If [D9] >= [B9] Or [D9] <= [B10] Then 播放wav If [A19] >= [A9] Or [A19] <= [A10] Then 播放wav If [D6] >= [A52] Or [D6] <= [A53] Then 播放Contact If [D3] >= [b52] Or [D3] <= [b53] Then 播放Contact End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End With End If End Sub 以上是語法 現在雖然解決可以同時開兩個EXCEL 但卻只能有一個能用聲音提醒 如果要開兩個EXCEL 且兩個EXCEL 都能提醒 不知道語法要怎麼寫 再次感謝S大的協助 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.170.153.105 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1597294555.A.D6A.html

08/13 13:40, 3年前 , 1F
會出"陣列索引超出範圍(錯誤代碼9)"就表示,觸發事件時作
08/13 13:40, 1F

08/13 13:40, 3年前 , 2F
用活頁簿(第二個活頁簿)內是沒有該工作表名稱("計算結果")
08/13 13:40, 2F

08/13 13:40, 3年前 , 3F
的工作表的,所以如果第二個活頁簿的檔名是固定的話,就判
08/13 13:40, 3F

08/13 13:40, 3年前 , 4F
斷activeworkbook.name,那再以有存在於活頁簿的工件表名
08/13 13:40, 4F

08/13 13:40, 3年前 , 5F
稱,用於sheets(..)括號內
08/13 13:40, 5F

08/13 13:40, 3年前 , 6F
那之前寫到只判斷activeworkbook.name = thisworkbook.
08/13 13:40, 6F

08/13 13:40, 3年前 , 7F
name方面就不正確,因為有二個活頁簿的名稱是都要執行的話
08/13 13:40, 7F

08/13 13:40, 3年前 , 8F
,固定活頁簿名稱就再加個or。
08/13 13:40, 8F

08/13 13:40, 3年前 , 9F
當然如果開啟上就只有這二個檔案的話,就判斷觸發事件時
08/13 13:40, 9F

08/13 13:40, 3年前 , 10F
activeworkbook.name是哪個就好,帶入有存在的工作表名稱
08/13 13:40, 10F

08/13 13:40, 3年前 , 11F
,以解決最先"陣列索引超出範圍(錯誤代碼9)"的這個問題
08/13 13:40, 11F
文章代碼(AID): #1VDCVRrg (Office)
討論串 (同標題文章)
文章代碼(AID): #1VDCVRrg (Office)