2013-04-26 148 views
1

我使用Microsoft Visual Basic 6.5和Excel的Microsoft Visual Basic 6.5忽略大小寫

TxtMMMString prompt keyyed in by user. In this case i hardcoded it as an example but it( TxtMMM)可以是任何 「月」, 「簡」, 「月」 或 「月」 等

我的問題是,我如何寫條件來檢查TxtMMM,到忽略區分大小寫而檢查?

E.g如果用戶輸入TxtMMM

  • JAN

那麼它將應該返回"01"

sub casesense()  
Dim TxtMMM as String  
Dim sTxtMMM as String  
TxtMMM = "Jan"  
      If TxtMMM = "JAN" Then 
       sTxtMMM = "01" 
       csd = 1 
      ElseIf TxtMMM = "FEB" Then 
       sTxtMMM = "02" 
       csd = 1 
       ..... 
      End If 
End sub 

回答

2

這很簡單。只需使用Ucase將轉換TxtMM首先要大寫,然後比較:

If UCase(TxtMMM) = "JAN" Then 
     sTxtMMM = "01" 
     csd = 1 
    ElseIf UCase(TxtMMM) = "FEB" Then 
     sTxtMMM = "02" 
     csd = 1 
     ..... 
    End If 
+0

通過這樣做,將它改變它價值TxtMMM的?或隻影響該聲明? – Leon 2013-04-26 05:50:18

+1

它不會改變TxtMMM的值。效果將僅用於該陳述(如果條件)。 – 2013-04-26 05:55:29

5

,而不是一個12步Select爲什麼不

Dim TxtMMM As String 
TxtMMM = "Jan" 
MsgBox Format(Month(DateValue("1/" & TxtMMM & "/2013")), "00") 
csd = 1 
+2

+ 1爲簡單起見! – 2013-04-26 15:44:37

+0

爲什麼不通過使用'csd = month(...'? – glh 2013-04-27 02:02:37

+0

)來關閉循環如同在'Jan'和'Feb'中給出的例子'csd = 1'。 – brettdj 2013-04-27 10:29:30