返回列表 上一主題 發帖

[發問] 如何簡化判斷式 if ... or ... then

[發問] 如何簡化判斷式 if ... or ... then

大家早安,如果我的判斷式很多 ...
if A or B or C or D or E or F or G or .......... then
請問有甚麼方法可以簡化呢?
謝謝各位大大 ^^
韓德爾の原木
http://beau.tw

回復 1# beau1029
    判斷式很多 ...
if A or B or C or D or E or F or G or .......... then
請問有甚麼方法可以簡化呢?

VBA 的 條件判斷 也有很多...
A or B or C or D or E判斷式(內容)??? 請說清楚,最好是附檔上來
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# GBKEE

其實只是簡單的判斷句

If car.text=01/02 or car.text=03/04 or car.text=05/06 or car.text=07/08 or car.text=… then
……

因為我的 car 有 170 個,所以是否可以簡化?
韓德爾の原木
http://beau.tw

TOP

回復 3# beau1029
If car.text=01/02 or car.text=03/04 or car.text=05/06 or car.text=07/08 or car.text=… then
01/02,03/04 ..... 有170要判斷的這些條件在檔案哪裡...  你不說沒人....
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

版主,應該是我表達不清 ^^||| 我後來用 case 解決了
韓德爾の原木
http://beau.tw

TOP

回復 5# beau1029

170個條件 用Case 會容易出錯(條件要寫清楚)!!
  1. '170個條件 用Case 會容易出錯(條件要寫清楚)!!
  2. Option Explicit
  3. Sub ExA()
  4.     Dim A As String, Msg As Boolean, E As Variant
  5.     A = "01/02"               '這是日期??
  6.     For Each E In [A1:A170]   '日期存放位置 格式 "mm/dd"
  7.         If E.Text = A Then
  8.             Msg = True
  9.             Exit For
  10.         End If
  11.     Next
  12.     If Msg Then
  13.         MsgBox E.Address & "  " & E
  14.         '***** 程式碼!!!*****
  15.     End If
  16. End Sub
  17. Sub ExB()
  18.     Dim AR, A As String, M As String, Msg As Boolean, E As Variant
  19.     AR = Array("01/02", "03/04", "05/06", "07/08")    '判斷的條件在這裡
  20.     A = "05/06"
  21.     'AR = Filter(AR, A, True)   '找出
  22.     AR = Filter(AR, A, False)   '找出不同
  23.     If UBound(AR) > -1 Then
  24.         MsgBox Join(AR, vbLf)
  25.         '***** 程式碼!!!*****
  26.     End If
  27. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 5# beau1029
問題解決了,判斷的程式能否分享回饋一下。
這樣才知道問題的問題在哪裡

TOP

版主,我回家過母親節,回來後試試看,謝謝 ^^
韓德爾の原木
http://beau.tw

TOP

        靜思自在 : 為自己找藉口的人永遠不會進步。
返回列表 上一主題