返回列表 上一主題 發帖

[發問] 資料複數回傳

若只有那幾格??
=SUBSTITUTE(TRIM(C5&" "&D5&" "&E5&" "&F5&" "&G5&" "&H5&" "&I5&" "&J5&" "&K5)," ",",")

或用自訂函數
Function NumTxt(ARR) As String
Dim A, T$
For Each A In ARR
    T = Trim(T & " " & A)
Next
NumTxt = Replace(T, " ", ",")
End Function

公式:=NumTxt(C5:K5)

TOP

請問如果同樣狀態,欄位很多到100-200欄
要怎麼改會比較好? 謝謝大大

TOP

回復 12# sun19860126


將資料範圍放到自訂函數的公式中即可,
除非需求不同, 可上傳範例並加說明規則!

TOP

感謝樓上~我剛好有與發文者類似需求
所以就用同樣寫法再更改,只是欄位需求變大
Sub fourFATNOcombine()

' fourFATNOcombine 巨集
'
Dim Out As Variant
For n = 3 To 2000
If Cells(n, 2) <> "" Then
Out = Array(Cells(n, 146), Cells(n, 245))
***上面這一段我要從146欄吃資料到245欄,土法煉鋼似乎無法解
ub = UBound(Out)
For i = 0 To ub
If Out(i) <> "" Then: OutAll = OutAll & "/" &

Out(i)
Next
Cells(n, 9) = Mid(OutAll, 2, 999)
OutAll = ""
End If
Next

TOP

本帖最後由 准提部林 於 2018-8-10 12:13 編輯

回復 14# sun19860126


沒有檔案看,只能猜著寫~~
Sub fourFATNOcombine()
Dim Arr, Brr, Vrr, i&, j&, T$
Arr = Range(Cells(3, 146), Cells(2000, 245)) '第146欄至245欄範圍
Brr = Range(Cells(3, 2), Cells(2000, 2)) '第2欄(B欄)
ReDim Vrr(1 To UBound(Arr), 0) '定義一個空陣列
For i = 1 To UBound(Arr) 
  If Brr(i, 1) = "" Then GoTo 101 '如果B欄為空,略過此行
  For j = 1 To UBound(Arr, 2)
    If Arr(i, j) <> "" Then T = T & "/" & Arr(i, j)
  Next j
  Vrr(i, 0) = Mid(T, 2): T = ""
101: Next i
Cells(3, 9).Resize(UBound(Vrr)) = Vrr
End Sub

TOP

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

        靜思自在 : 為人處世要小心細心,但不要「小心眼」。
返回列表 上一主題