我在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中查找带字符串的特定字符?
答案 0 :(得分:1)
在这里完全解释太长了,你的问题相当广泛,但你想要的是正则表达式。如果你在网上和stackoverflow中进行一些搜索,你应该能够弄清楚如何构建一些模式来匹配你的数据并使用它。这里有一些资源可以帮助您入门。
How to use Regular Expressions (Regex) in Microsoft Excel both in-cell and loops