- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
本帖最後由 stillfish00 於 2014-2-14 14:09 編輯
回復 1# joslau
參考:- Sub Test()
- Dim rngSource As Range, rngTarget As Range
- Dim ar, i As Long, j As Long
-
- With Sheets("Sheet1")
- Set rngSource = .[A1].CurrentRegion.Resize(, 3) '來源
- Set rngTarget = .[G1].Resize(rngSource.Rows.Count, 3) '合併結果
-
- '刪除舊的結果
- If rngTarget.Cells(1).Value <> "" Then rngTarget.Cells(1).CurrentRegion.ClearContents
-
- '合併
- ar = rngSource.Value '一次性取出
- For i = 1 To UBound(ar)
- If ar(i, 1) <> "" Then
- j = j + 1
- rngTarget.Cells(j, 1).Resize(, 3) = Application.Index(ar, i)
- Else
- rngTarget.Cells(j, 3).Value = rngTarget.Cells(j, 3).Value & "," & ar(i, 3)
- End If
- Next
- End With
- End Sub
複製代碼 |
|