iT邦幫忙

0

excel VBA大於等於值

目前存儲格A1.B1.C1 使用每5秒記錄迴圈儲存。
想要B1值 < C1值時,A1值乘上-1
則B1值 => C1值時,A1值則不變

請問這VBA要如何寫呢

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
Neish
iT邦研究生 1 級 ‧ 2019-05-29 07:32:32
最佳解答

If Range("B1") < Range("C1") Then Range("A1") = Range("A1") * -1

看更多先前的回應...收起先前的回應...
tkoper963 iT邦新手 4 級 ‧ 2019-05-29 15:11:49 檢舉

想在請問一下,如果我A1值原本函數是IF(H11-H12<0,H11,H11-H12)
那要如何加入

Neish iT邦研究生 1 級 ‧ 2019-05-30 08:15:00 檢舉

意思是要把A1原本的函數寫法改成用VBA嗎?

If Range("H11") - Range("H12") < 0 Then
    Range("A1") = Range("H11")
Else
    Range("A1") = Range("H11") - Range("H12")
End If
tkoper963 iT邦新手 4 級 ‧ 2019-05-30 12:52:16 檢舉

如果把If Range("B1") < Range("C1") Then Range("A1") =Range("A1") * -1 加進去會不會有衝突呢

Neish iT邦研究生 1 級 ‧ 2019-05-30 13:19:35 檢舉

我不清楚你所要的資料還有規則是什麼
因為你問題的條件跟回應的條件不同
不知道你的優先順序是哪一個 所以無法跟你說會不會衝突

若真的要加 可以變成這樣

If Range("H11") - Range("H12") < 0 Then
    Range("A1") = Range("H11")
ELSE If Range("B1") < Range("C1") Then 
    Range("A1") =Range("A1") * -1
Else
    Range("A1") = Range("H11") - Range("H12")
End If

上述這樣寫
第一個IF條件如果成立 就不會跑ELSE IF 還有 ELSE裡面的條件
同樣 若第一個IF條件不成立 第二個ELSE條件成立 就不會往下跑ELSE

tkoper963 iT邦新手 4 級 ‧ 2019-05-31 02:53:28 檢舉

真抱歉造成您的困擾,用您的方式做了小小修改以符合我要的模式。
感謝您

我要發表回答

立即登入回答