假設:
你的原始資料在sheet1;
,整理後的資料在sheet2
處理方法:
按“Alt+F11”,調出VBA編輯器,在“ThisWorkbook”上點“右鍵----插入----模組”,
將下列程式碼輸入或貼上進去,關閉VBA編輯器。
Sub Macro1() js1 = 1 js2 = 1 Sheets("Sheet1").Select Do While Cells(js1, 1) <> "" M1 = Cells(js1, 1) M2 = Cells(js1, 2) M3 = Cells(js1, 3) M4 = Cells(js1, 4) Sheets("Sheet2").Select If M2 & M3 & M4 = Cells(js2, 2) & Cells(js2, 3) & Cells(js2, 4) Then Cells(js2, 5) = Cells(js2, 5) + 1 Cells(js2, 6) = Cells(js2, 6) & "," & M1 Else js2 = js2 + 1 Cells(js2, 2) = M2 Cells(js2, 3) = M3 Cells(js2, 4) = M4 Cells(js2, 5) = 1 Cells(js2, 6) = M1 End If js1 = js1 + 1 Sheets("Sheet1").Select LoopEnd Sub
按“Alt+F8”,調出“宏”,點“執行”。
特別說明:
你的原始資料裡,B、C、D三列相同的,並非集中分佈,本段VBA程式碼不解決這個問題。
你若想把所有非集中分佈的B、C、D相同資料,都整理到一行上,請在執行“宏”之前,自行對資料排序!!!
假設:
你的原始資料在sheet1;
,整理後的資料在sheet2
處理方法:
按“Alt+F11”,調出VBA編輯器,在“ThisWorkbook”上點“右鍵----插入----模組”,
將下列程式碼輸入或貼上進去,關閉VBA編輯器。
Sub Macro1() js1 = 1 js2 = 1 Sheets("Sheet1").Select Do While Cells(js1, 1) <> "" M1 = Cells(js1, 1) M2 = Cells(js1, 2) M3 = Cells(js1, 3) M4 = Cells(js1, 4) Sheets("Sheet2").Select If M2 & M3 & M4 = Cells(js2, 2) & Cells(js2, 3) & Cells(js2, 4) Then Cells(js2, 5) = Cells(js2, 5) + 1 Cells(js2, 6) = Cells(js2, 6) & "," & M1 Else js2 = js2 + 1 Cells(js2, 2) = M2 Cells(js2, 3) = M3 Cells(js2, 4) = M4 Cells(js2, 5) = 1 Cells(js2, 6) = M1 End If js1 = js1 + 1 Sheets("Sheet1").Select LoopEnd Sub
按“Alt+F8”,調出“宏”,點“執行”。
特別說明:
你的原始資料裡,B、C、D三列相同的,並非集中分佈,本段VBA程式碼不解決這個問題。
你若想把所有非集中分佈的B、C、D相同資料,都整理到一行上,請在執行“宏”之前,自行對資料排序!!!