返回列表 上一主題 發帖

減一年

回復 3# myleoyes


你程式中的底下這一行就是在清格式化條件的設定的,
故而按下按鈕後格式化會被清除,
當然不能再如剛剛開檔的樣子.

.Range("B3:AK33").FormatConditions.Delete

請試著把那行 Mark 掉試試.

TOP

回復 5# myleoyes

如果你不想把原先的條件全部刪掉的話.

.Range("B3:AK33").FormatConditions(1).Delete
刪第一個自訂格式化的條件
.Range("B3:AK33").FormatConditions(2).Delete
刪第二個自訂格式化的條件
.Range("B3:AK33").FormatConditions(3).Delete
刪第三個自訂格式化的條件

就看你要刪掉哪個囉...

TOP

本帖最後由 luhpro 於 2010-8-19 23:44 編輯

回復 7# myleoyes

抱歉,前些天主機板的 SATA埠 全部都 掛掉了,思考了幾天終於決定將主機板(CPU, RAM)更新而不是買中古主機板來換,
而因為之前灌的軟體太多, 頗費了些工夫才終於恢復到掛掉之前的操作環境.

-----------------------------------------------------------------------------------------------------------------
你會出現那個訊息就是程式所作用的那一個(些)目標儲存格已經沒有 "任何一個" 格式化條件的設定了.

有可能是類似 :
你想刪 "第 2 個" 條件設定,
但是它其實 "只剩 1 個" 條件設定,
所以無法執行該指令.
的情形

這個部份就跟我們想刪 Sheets 時一樣,
應該一直都用 "刪第 1 個" 的指令 或是從最後一個開始往前刪,
而非是以

a. 刪第 1 個
b. 刪第 2 個
c. 刪第 3 個

的順序來執行,
因為 當 a. 執行後其實會剩下
第 1 個
第 2 個

而非
第 2 個
第 3 個

而當 b. 執行完,
其實是刪掉了最初狀態中的 "第 1 個" 與 "第 3 個" 條件,
絕非我們預想中的 "第 1 個" 與 "第 2 個" 條件.

一般當我們的程式發生錯誤時,
有一個滿好用的功能,
就是在確認數值都是正確的的前提下, (假設你程式中沒有 全域變數, 或是確認 全域變數 的數值都已經設定正確了)
可以在想要追蹤的 Sub 函數內的任何一個位置上點一下滑鼠左鍵, (不適用部分物件的觸發方法,例如 Workbook_BeforeClose)
再按下 F8 鍵啟動 "單步執行" 可以一行一行的追蹤程式動作,
再搭配 "即時運算" 、 "區域變數" 兩個視窗 與 Sheet 畫面可確認執行後 變數數值 及 儲存格變化 的結果,
至於你上述的程式也可以每一單步執行後就去看儲存格的條件變化情形,
確認是否符合你的預期.

TOP

        靜思自在 : 願要大、志要堅、氣要柔、心要細。
返回列表 上一主題