返回列表 上一主題 發帖

[發問] 合拼資料問題

[發問] 合拼資料問題

小妹又來跟各位高手請益一下 我只會用CONCATENATE 但好像有限制


如何將 sheet2 A欄位資料合拼至Sheet1 A2欄位並加有 ";"  ex: 132@132.132;132@456.4654
謝謝 ^^

回復 1# yuras

合併.rar (1.77 KB)

TOP

回復 1# yuras
寫個自定義函數運用
一般模組
  1. Function JoinStr(str_array As Range, dot As String)
  2. '連接字串語法:JoinStr(單欄或單列儲存格範圍,連接符號)
  3. If str_array.Columns.Count = 1 Then
  4.    JoinStr = Join(Application.Transpose(str_array), dot)
  5.    Else
  6.    JoinStr = Join(Application.Transpose(Application.Transpose(str_array)), dot)
  7. End If
  8. End Function
複製代碼
學海無涯_不恥下問

TOP

回復 3# Hsieh

謝謝 ^^

TOP

回復 3# Hsieh

不好意思 再護問您一下  如果我把 2!A2:A100,";") 選取範圍欄位拉大,會變成空格部份會自動補 ;;;;;;;;;;;;;;;;;;;;;;;
EX: 1@MSN.COM.TW;2@MSN.COM.TW;3@MSN.COM.TW;4@MSN.COM.TW;5@MSN.COM.TW;
6@MSN.COM.TW;7@MSN.COM.TW;8@MSN.COM.TW;::::::::::::::::::::::::::::
那如何空格部份不要目動補“;“   謝謝 !! :P

TOP

回復 5# yuras
  1. Function JoinStr(str_array As Range, dot As String)
  2. '連接字串語法:JoinStr(單欄或單列儲存格範圍,連接符號)
  3. If str_array.Columns.Count = 1 Then
  4.    JoinStr = Join(Application.Transpose(str_array), dot)
  5.    Else
  6.    JoinStr = Join(Application.Transpose(Application.Transpose(str_array)), dot)
  7. End If
  8. JoinStr = Replace(JoinStr, dot & dot, dot)
  9. End Function
複製代碼
學海無涯_不恥下問

TOP

回復 5# yuras
連結不連續範圍的字串
  1. Function 字串連接(連接符號 As String, ParamArray 字串範圍()) As String
  2.     Dim i As Integer, e As Variant
  3.     For i = 0 To UBound(字串範圍)
  4.         For Each e In 字串範圍(i)
  5.         If e <> "" Then 字串連接 = IIf(字串連接 = "", e, 字串連接 & 連接符號 & e)
  6.         Next
  7.     Next
  8. End Function
複製代碼

TOP

        靜思自在 : 小事不做、大事難成。
返回列表 上一主題