簡體   English   中英

如何在 vba excel 中拆分具有多個分隔符的字符串並連接部分?

[英]How to split a string with multiple delimiters and join parts in vba excel?

大家好,

我想對以下內容進行一些輸入。

我有一個 function 拆分字符串的一部分並將一位數轉換為兩位數。 function 使用“.” 作為分隔符,然后通過不同的分隔符再次連接部分。

當我調用 function 時,我只需將“=Outliner(C3)”添加到我希望格式化的單元格中。

一切都很漂亮。 如果我把 14.1.1.1 function 返回 14-01-01-01 這正是我需要它做的。

現在出現了一個新場景,我得到的數字是 14.1.1-1,現在 function 返回14-01-01-43831 ,這不是我想要的。 我仍然想要 14-01-01-01。

function 是否有簡單的修復方法。 我在下面添加了代碼。

Function Outliner(S As String) As String
  Dim x As Long, Parts() As String
  Parts = Split(S, ".")
  For x = 0 To UBound(Parts)
    Parts(x) = Format(Parts(x), "00")
  Next
  Outliner = Join(Parts, "-")
End Function

代替

Parts = Split(S, ".")

Parts = Split(Replace(S, "-", "."), ".")

由於您還標記了 Excel-formula,因此我將向您展示一種使用 Excel-2019 及以后可用的本機函數的可能性:

在此處輸入圖像描述

B1中的公式:

=TEXTJOIN("-",,TEXT(FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(A1,"-","."),".","</s><s>")&"</s></t>","//s"),"00"))

如果一個人有 Excel 2019,則需要進入 CSE。 使用 microsoft365,這將自動完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM