2016-06-21 70 views
2

希望有人能帮助我解决这个问题。如何在VBA中将字符串与数字进行匹配

目的:我想匹配的信息,2个单元,其中,

小区1数据:Chicken1234 小区2数据:1234

小区2将确定有多少来自于右边的单元格1个字符用于匹配标准。 因此,在excel上下文中,它应该是= if(cell2 =(right(cell1,len(cell2)),“True”,“False”)

请告诉我我做错了什么, 。

样本数据:

肉类| Chicken1234 |回答真或假

MeatNo | 1234 |回答真或假

Sub matchingtest() 

Dim MTAC As Variant, BankAC As Variant 


[A1].Select 

MeatNo = ActiveCell.Offset(1, 1) 
No = ActiveCell.Offset(0, 1) 

Do While Not IsEmpty(ActiveCell.Offset(1, 0)) 

    If Not IsEmpty(ActiveCell) And _ 
     No = MeatNo Then _ 

      ActiveCell.Offset(0, 3).FormulaR1C1 = ("True") 
      ActiveCell.Offset(1, 0).Select 

     Else 

      ActiveCell.Offset(0, 10).FormulaR1C1 = ("False") 
      ActiveCell.Offset(1, 0).Select 

    End If 

Loop 



End Sub 

回答

0

一个基本的例子可以是这样的(未测试):

myMeats = Array("Chicken", "Porc", "Beef") 
Function CheckMeat(compareTo as String) 
    For i = 0 To UBound(myMeats) 
    Dim TestComp As Integer 
    ' The two strings sort equally. Returns 0. 
    TestComp = StrComp(myMeats[i], compareTo, CompareMethod.Text) 
    ' -1 string1 is in string2, 0 equal, +1 string2 is in string1 
    If TestComp = -1 or TestComp = 0 or TestComp = 1 Then 
     return true 
    End If 
    End For 
End Function 

来自:

https://msdn.microsoft.com/fr-fr/library/9s233cfc(v=vs.90).aspx
http://www.fontstuff.com/vba/vbatut01.htm
http://www.mrexcel.com/forum/excel-questions/485383-define-list-values-within-visual-basic-applications-code.html

相关问题