Board logo

標題: [發問] 儲存格格式內容問題請教 [打印本頁]

作者: rouber590324    時間: 2015-4-30 14:54     標題: 儲存格格式內容問題請教

DEAR ALL大大
1. Sheet4.Range("B4") = 400
2.小弟寫 If Sheet5.Cells(M, 23) = "400" Then  程式可執行
    但寫成   If Sheet5.Cells(M, 23) = Sheet4.Range("B4") Then  程式無法執行
3.WHY 煩不吝賜教   THANKS*10000
作者: luhpro    時間: 2015-4-30 21:56

DEAR ALL大大
1. Sheet4.Range("B4") = 400
2.小弟寫 If Sheet5.Cells(M, 23) = "400" Then  程式可執行
...
rouber590324 發表於 2015-4-30 14:54

看不出來有甚麼問題呢? (雖然我習慣使用 Sheets("Sheet5") 的形式,不過在 Excel 2003 中確定 Sheet5 的形式可以用)
我在即時運算式窗直接執行的情形如下:

?Sheet1.Cells(1, 23) = Sheet2.Range("B4")
True

不知你所謂的 "程式無法執行" 是怎樣的情形?
有出現錯誤訊息嗎?出現的又是什麼錯誤訊息呢?
又或者是執行結果不如你的預期?
依據我的猜測這個指令若會出錯可能原因大概有以下幾種:
1. 名稱為 Sheet5 或 Sheet4 的 活頁簿 不存在.
2. 執行此指令當時的 M 值為 0, 負數, 空值, 邏輯值, 陣列 亦或是 文字.
3. 其上下層(With, For,If,...等)指令未成對
4. 因等號兩邊儲存格內容(或格式)導致無法比對的情形.
...
可能性其實滿多的,
需要更多的訊息才容易判斷問題點.
最好是能提供較完整的範例檔案以便判讀.
作者: rouber590324    時間: 2015-5-4 10:39

DEAR  luhpro  大大
感謝您詳細之說明  THANKS*10000
作者: lpk187    時間: 2015-5-4 14:42

回復 1# rouber590324


    400不等於"400",這是你問題所在
作者: rouber590324    時間: 2015-5-5 09:57

DEAR  luhpro  大大
感謝您詳細之說明 小弟修改為 -400=0  已OK   THANKS*10000

Sheet5.Cells(M, 37) - Sheet4.Range("B10") = 0
Sheet5.Cells(M, 37) - 400 = 0
作者: gn001038600    時間: 2015-5-5 13:51

改成以下這樣也可以跑唷 您試試看
If val(Sheet5.Cells(M, 23)) = Sheet4.Range("B4") Then ..
作者: rouber590324    時間: 2015-5-5 16:58

DEAR gn001038600  SIR
多些一招  THANKS*10000




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)