iT邦幫忙

0

這個程式哪裡錯誤
目前自己寫第二個IF 但怎麼輸入都會跑出訊息框
不知道是邏輯還是要把文字轉數字 不過我還沒寫第二個IF就正常也可以相加
且不會變成文字相加那樣 譬如Cells(i, "F").Value=10 TB4.Text=10
他傳回的結果是20是正確的 而不是文字相加的值1010

If data1.Text = Cells(i, "B") And TB1.Value = Cells(i, "A") Then
 If TB4.Text > Cells(i, "D").Value Or Cells(i, "F").Value + TB4.Text > Cells(i, "D") Then    MsgBox "輸入數量或估驗數量超出契約數量"
 Else
   If Cells(i, "F") = "" Then
    Cells(i, "F") = TB4.Text
    Cells(i, "G") = TB5.Text
   Else
    Cells(i, "F") = Cells(i, "F").Value + TB4.Text
    Cells(i, "G") = Cells(i, "G").Value + TB5.Text
  End If
   End If
    End If
看更多先前的討論...收起先前的討論...
paicheng0111 iT邦研究生 1 級 ‧ 2019-02-26 12:47:10 檢舉
訊息框出現在哪一行?訊息框的內容?
訊息框是MsgBox那行 內容是"輸入數量或估驗數量超出契約數量"
sam0407 iT邦高手 1 級 ‧ 2019-02-26 13:44:29 檢舉
把text先轉型別成數字再相加就會是20了
sam0407您好 您沒看完我問的嗎 我應該有說明吧 目前我沒轉型就已經是20了
而不是文字的1010 我是想知道為何那個IF判斷式會一直成立

1 個回答

0
海綿寶寶
iT邦超人 1 級 ‧ 2019-02-26 09:19:11

假設 TB1 和 TB4,TB5 是相同的資料型態
你有的使用 .Value;有的使用 .Text
你知道為什麼嗎?

我猜可能的原因是
1.短一點的版本,用 Val()
2.長一點的版本,認真想看再看

會不會是我EXCEL用通用格式

資料歸資料,格式歸格式,資料加格式等於最後的顯示
資料:2048
格式:###,### 最後顯示成 2,048
格式:TEXT 最後顯示成 2048
因此
資料加資料(10+10)會等於 20
顯示加顯示(10+10)會等於 1010

講完放飯

我要發表回答

立即登入回答