Board logo

標題: [發問] 如何簡化判斷式 if ... or ... then [打印本頁]

作者: beau1029    時間: 2013-5-10 07:47     標題: 如何簡化判斷式 if ... or ... then

大家早安,如果我的判斷式很多 ...
if A or B or C or D or E or F or G or .......... then
請問有甚麼方法可以簡化呢?
謝謝各位大大 ^^
作者: GBKEE    時間: 2013-5-10 08:39

回復 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判斷式(內容)??? 請說清楚,最好是附檔上來
作者: beau1029    時間: 2013-5-10 10:48

回復 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 個,所以是否可以簡化?
作者: GBKEE    時間: 2013-5-10 11:21

回復 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要判斷的這些條件在檔案哪裡...  你不說沒人....
作者: beau1029    時間: 2013-5-10 11:57

版主,應該是我表達不清 ^^||| 我後來用 case 解決了
作者: GBKEE    時間: 2013-5-10 12:57

回復 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
複製代碼

作者: stillfish00    時間: 2013-5-10 16:36

回復 5# beau1029
問題解決了,判斷的程式能否分享回饋一下。
這樣才知道問題的問題在哪裡
作者: beau1029    時間: 2013-5-11 17:27

版主,我回家過母親節,回來後試試看,謝謝 ^^




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