我花了好几个小时试图想出解决方案,所以我给了我们并寻求帮助!!
我有不同的产品(在单元格A2到A10中),它们是不同的术语。单元格中的描述是“烘焙5年奖”'或者它可以是'Style 3年奖'。
我需要使用搜索功能来确定它是不是3年或5年的产品,然后根据它,我需要它来复制术语“3年”'或者' 5年'到另一个工作簿,即不复制描述中的其他词,例如Bake。
答案 0 :(得分:0)
我认为这个解决方案可能符合您的期望。
您可以创建将根据您的描述提取数字的函数:
Function ExtractDigits(s As String) As String
Dim retval As String
Dim i As Integer
retval = ""
For i = 1 To Len(s)
If Mid(s, i, 1) >= "0" And Mid(s, i, 1) <= "9" Then
retval = retval + Mid(s, i, 1)
End If
Next
ExtractDigits = retval
End Function
您可以使用此功能将所需数据放入其他工作表。
If ExtractDigits(Worksheet("Source").Cells(1,2) = 1 Then
Worksheet("OtherSheet").Cells(1,1) = ExtractDigits(Worksheet("Source").Cells(1,2) + " year"
Else
Worksheet("OtherSheet").Cells(1,1) = ExtractDigits(Worksheet("Source").Cells(1,2) + " years"
End
答案 1 :(得分:0)
您可以使用基于正则表达式的Function findYear(str As String) As String
Set reg = CreateObject("VBScript.RegExp"):reg.Pattern = "\d+ year"
Set matches = reg.Execute(str): findYear = matches(0).Value
End Function