2016-01-07 23 views
1

我需要刪除字符串中最後一個數字左邊的所有文本。奇怪的是,我似乎可以找到一切,但是這個。這裏是我需要的例子。提取字符串中最後一個數字前面的所有文本

來源:

  1. OsteoActiv 150個膠囊
  2. 維生素B6爲吡哆醛-5-磷酸鹽33.8毫克60素食膠囊
  3. 酪氨酸500個毫克60個素食膠囊
  4. 綠茶-70 500毫克EGCG 350毫克60粒素食膠囊
  5. 歐米茄Supreme 90膠囊

結果所需要的:

  1. 150膠囊
  2. 60個素食膠囊
  3. 60素食膠囊
  4. 60素食膠囊
  5. 90粒

Excel-Extract-Text-Left-of-Final-Number-in-String.jpg

回答

1

甲UDF(又名用戶定義函數)最適合自定義分析不確定長度和結構的字符串。將以下內容粘貼到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 

像使用任何本地工作表函數一樣使用。

udf_last_number_and_unit

+0

太棒了。非常非常感謝你!祝你有美好的一年。 – Scot

相關問題