如何计算和识别vba中的单元格的数字和字符串?

时间:2016-05-12 17:56:34

标签: vba

我在B栏中有一个列表,其中包含来自不同市场的订单ID 我想在F栏中找到市场的名称。

识别它们的方法是根据字符串的长度(有些只是数字,有些是数字和连字符,12345 =批发,123-6789123-1210112 =亚马逊),其他是某些特定字符(例如1234567E) = gogo,或1234OB =打开框) 我想在VBA中做到这一点。

到目前为止,这是我的代码。

Sub profit()
    Dim x As Long
    Dim lastrow As Long
    lastrow = Sheets("profit april 28 to may 11").Cells(Rows.Count,"b").End(xlUp).Row
       For x = 6 To lastrow
          If Cells(x, 1) = Cells(x, 2) Then
           Cells(x, 6).Value = "wholesale"
            Else: x = x + 1

        End If
     Next x
End Sub

此代码工作正常但只通过比较A列和B列中的值给我批发订单。对于ID的其余部分,我没有参考栏(如A)。所以我需要计算字符串上的字符数。但是一些字符串具有相同的长度,然后我需要寻找第二个条件(12345678和1234567E具有相同的长度但在一个字符中不同)。我想知道如何计算vba中单元格中的字符以及如何在VBA中查找带字符串的特定字符?

1 个答案:

答案 0 :(得分:1)

在这里完全解释太长了,你的问题相当广泛,但你想要的是正则表达式。如果你在网上和stackoverflow中进行一些搜索,你应该能够弄清楚如何构建一些模式来匹配你的数据并使用它。这里有一些资源可以帮助您入门。

How to use Regular Expressions (Regex) in Microsoft Excel both in-cell and loops

https://msdn.microsoft.com/en-us/library/ms974570.aspx