2013-04-26 153 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