標題:
請求前輩們協助看看程式出錯處,
[打印本頁]
作者:
周大偉
時間:
2018-5-26 13:24
標題:
請求前輩們協助看看程式出錯處,
請求前輩們協助看看程式出錯處,
附檔, 內有說明,
感謝!!!
[attach]28771[/attach]
作者:
iamaraymond
時間:
2018-5-26 14:38
回復
1#
周大偉
不太清楚您的情況
如果想避免觸發事件的話可以用
Application.EnableEvents=false
但若可以看到原檔案會比較清楚您的問題
作者:
周大偉
時間:
2018-5-26 16:20
回復
2#
iamaraymond
謝謝前輩回應,
小弟錯把原檔案上傳, 現把有程式檔案重新上傳, 希望能得到協助, 謝謝, 感恩..
[attach]28773[/attach]
作者:
iamaraymond
時間:
2018-5-26 16:40
回復
3#
周大偉
您說的錯誤是不是變數未定義?
如果是的話只要在
Private Sub Worksheet_SelectionChange(ByVal T As Range)
底下加一句
Dim c As Variant
應該就可以了
作者:
周大偉
時間:
2018-5-26 19:45
回復
4#
iamaraymond
感謝前輩,
加入這句, 問題已解决, 謝謝協助, 祝身體健康, 快樂..謝謝!!
作者:
周大偉
時間:
2018-5-27 09:41
回復
4#
iamaraymond
前輩, 早晨
想知多點,
Private Sub Worksheet_SelectionChange(ByVal T As Range)
底下加一句
Dim c As Variant
除了這加多一句, 可還有其他語法或方法取代,
其實加多一句後, 問題已解决, 只是想知多D, 學多D,
謝謝!!
作者:
iamaraymond
時間:
2018-5-27 11:04
本帖最後由 iamaraymond 於 2018-5-27 11:05 編輯
回復
6#
周大偉
其實這個問題源自於最上面那一句
option explicit
若寫了這句語法就代表要必須宣告你每一個使用的變數
例如捕的這一句
dim c as variant
就是宣告c這個變數是一個variant的型態
使用option explicit有幾個優點是
1.程式會運行較快,因為你宣告了每一個變數,那麼電腦就不要還要花時間幫你判斷哪個變數是哪個類型
2.降低錯誤率,有時候我們會不小心打錯字
例如我今天用stockno紀錄股票代號,結果我後面在使用時不小心漏了一個字打成stckno,那這樣就可能造成程式出錯
而使用option explicit他就會幫你檢查,在你程式運作之前,他就會跟你說stckno沒定義
這時候你就可以檢查到你打錯字了
但麻煩的是...每一個變數都要定義XD
所以另一個解決方式就是把option explicit拿掉
他就不會強制你每個變數都要定義了
作者:
周大偉
時間:
2018-5-27 11:32
回復
7#
iamaraymond
大大早晨
小弟受教了, 但我還是想向大大請教, 如拿掉option explicit, 就該如何拿掉, 希望大大指點, 謝謝!!
作者:
iamaraymond
時間:
2018-5-27 11:47
回復
8#
周大偉
您是說如何拿掉嗎?
就把option explicit這句刪掉就好
作者:
周大偉
時間:
2018-5-27 12:09
回復
9#
iamaraymond
謝謝大大,
明白,
祝健康, 快樂..
作者:
nolookyou
時間:
2018-5-28 14:31
看完此篇整串對話,
從某個角度來說,上面整串對話還蠻......有趣的XD
這應該就是標準的發問者與解題者認知有一點點...不同~哈
舉例來說,版主在8樓問:如拿掉option explicit, 就該如何拿掉
但其實 i大 在7樓已經把8樓問題的主要的答案說出來了:必須宣告你每一個使用的變數~^^
作者:
c_c_lai
時間:
2018-5-29 08:38
回復
10#
周大偉
在程式撰寫過程中,最好養成事前正確地做變數宣告,
莫要偷懶掉這個宣告習慣,如此你可以全盤理解撰寫
之程式在執行環境中扮演之腳色地位,同時在事後之
程式修正及維護上亦較有條理與容易。
所以建議還是不要去捨 option explicit 的語法。
作者:
周大偉
時間:
2018-5-29 10:05
回復
12#
c_c_lai
感謝教導,祝健康快樂。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)