提取string中最后一个数字前面的所有文本
我需要删除我的string中最后一个数字左边的所有文本。 奇怪的是,我似乎可以find一切,但是这个。 这里是我需要的例子。
资源:
- OsteoActiv 150胶囊
- 维生素B6作为吡哆醛-5-磷酸盐33.8 mg 60素食主义者胶囊
- 酪氨酸500毫克60素食胶囊
- 绿茶-70 500毫克EGCG 350毫克60素食胶囊
- 欧米茄至尊90胶囊
需要的结果:
- 150胶囊
- 60粒素食胶囊
- 60粒素食胶囊
- 60粒素食胶囊
- 90粒胶囊
Excel的提取物-文字-左的决赛用户号码中,String.jpg
UDF(aka 用户定义函数 )最适合用于自定义parsing不确定长度和结构的string。 将以下内容粘贴到VBE中的模块代码表中。
Function udf_Last_Number_and_Unit(rng As Range) Dim tmp As String, v As Long, w As Long, vBITs As Variant vBITs = Split(rng.Value2, Chr(32)) tmp = Join(vBITs, Chr(32)) For v = LBound(vBITs) To UBound(vBITs) If IsNumeric(vBITs(v)) Then tmp = vbNullString For w = v To UBound(vBITs) tmp = Join(Array(tmp, vBITs(w)), Chr(32)) Next w End If Next v udf_Last_Number_and_Unit = Trim(tmp) End Function
像任何本地工作表函数一样使用。