返回列表 上一主題 發帖

[發問] 修正產生偵錯的程式碼。

本帖最後由 n7822123 於 2019-11-8 23:24 編輯

回復 1# papaya

你要讓儲存格字體變色之前,首先要能找到該儲存格阿~~~

你的xF(2, V)儲存格內的值 =1, 電腦在[B65:AN65]找不到 值是 1 的儲存格....

前面這段 [B65:AN65].Find(xF(2, V), LookAt:=xlWhole 就會等於 Nothing

然後你又要叫電腦把 "Nothing" 變色?

Nothing.Font.ColorIndex = IIf(v = 8, 7, 7)

這樣不出錯才奇怪吧!?

如果你要這樣寫,前面加上 On Error Resume Next  讓電腦跳到下一行執行
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 n7822123 於 2019-11-9 00:26 編輯

回復 5# papaya


原本

[B65:AN65].Find(xF(1, V), LookAt:=xlWhole).Font.ColorIndex = IIf(V = 8, 7, 7)   ' IIf(V = 8, 7, 7) 這個很多餘..........

改成  

if not [B65:AN65].Find(xF(1, V), LookAt:=xlWhole) is nothing then  [B65:AN65].Find(xF(1, V), LookAt:=xlWhole).Font.ColorIndex =7

如果太長,我會分兩行寫.........因為我的字體給它弄很大字,不想拉捲軸

set oRG= [B65:AN65].Find(xF(1, V), LookAt:=xlWhole)
if not oRG is nothing then oRG.Font.ColorIndex =7



解決一列,但是你還有很多列
on error resume next 比較乾脆...
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題