Re: [算表] 如何將同類資料(字串)合併至同一列?(VBA)

看板Office作者 (windknife18)時間17年前 (2009/04/25 17:21), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
趁有點時間寫一下囉,可以自行修改成你想要的 ... VBA 的程式 ... 1.Alt+F11 2.左邊視窗->滑鼠右鍵->插入->模組 3.右邊視窗插數以下程式 4.關閉程式視窗 5.Alt+F8 6.執行即可 Option Explicit Sub marco1() Dim i As Integer, j As Integer, k As Integer Dim rowC As Integer Dim rB As Range Dim data() As String Dim found As Boolean '先將 F:H 的資料清除 Sheets(1).Range("F:H").ClearContents '計算多少筆資料要處理 rowC = Sheets(1).Range("A1").CurrentRegion.Rows.Count '先暫存資料,加速處理 Set rB = Sheets(1).Range(Cells(1, 1), Cells(rowC, 3)) ReDim data(rowC, 3) k = 0 For i = 1 To rowC '處理資料 j = 1 found = False While (j <= k) And (found = False) '比對有沒有出現過 If rB(i, 1) = data(j, 1) And rB(i, 2) = data(j, 2) Then found = True data(j, 3) = data(j, 3) + "、" + rB(i, 3) End If j = j + 1 Wend If found = False Then '沒有出現過加入新資料 k = k + 1 data(k, 1) = rB(i, 1) data(k, 2) = rB(i, 2) data(k, 3) = rB(i, 3) End If Next i For i = 1 To k '列印資料 Cells(i, 6) = data(i, 1) Cells(i, 7) = data(i, 2) Cells(i, 8) = data(i, 3) Next i MsgBox ("成功") End Sub ※ 引述《DeeperOcean (越深海)》之銘言: : 軟體:Excel : 版本:2002 : 如現有資料如下: : A B  C : 分類 顏色 名稱  : 水果 紅  蘋果 : 水果 紅  草莓 : 水果 綠  芭樂 : 水果 綠  檸檬 : 蔬菜 綠  青椒 : 蔬菜 綠  花椰菜 : 希望將「分類、顏色都相同」的資料合併至同一列,如下: : A B  C : 分類 顏色 名稱  : 水果 紅  蘋果、草莓 : 水果 綠  芭樂、檸檬 : 蔬菜 綠  青椒、花椰菜 : C字串合併時,需要加入一個頓號來做區隔。 : 是否有哪個函數或功能可以快速完成呢?懇請賜教,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.131.84.79

04/27 13:30, , 1F
感謝!本來只希望有人指點一下方向就萬幸了,
04/27 13:30, 1F

04/27 13:30, , 2F
沒想到整個寫出來了…感激不盡orz 研讀中
04/27 13:30, 2F

04/27 13:36, , 3F
^^
04/27 13:36, 3F
文章代碼(AID): #19yjOpKg (Office)
文章代碼(AID): #19yjOpKg (Office)