情境 : 根據Sheet2的C列的數字,每一打開相應數字的工作表在裡面把A列的eamil address(A2開始)合併到B列(請看圖),然後結束。
問題 : 發現每完成迴圈一次,下一次的工作表的B列合併資料就會增加一倍(請看圖中的紅圈),請問如何阻止這個問題? 請教各位大大~ 謝謝。
Sub test1()
'
n = Sheets("Sheet2").Range("C500").End(xlUp).Row
For i = 2 To n Step 1
Sheets(Sheets("Sheet2").Cells(i, "C").Value).Select
If IsEmpty(Range("A3")) Then
Range("A2").Select
Selection.Copy
Range("B2").Select
ActiveSheet.Paste
Else
For m = 2 To Range("A2").End(xlDown).Row
m2 = m2 & Cells(m, "A") & ";"
Next m
Range("B" & Range("A2").End(xlDown).Row) = Left(m2, Len(m2) - 1)
End If
Next i
End Sub
M2沒有重新給值,所以每跑一次迴圈會一直累加
Sub test1()
'
n = Sheets("Sheet2").Range("C500").End(xlUp).Row
For i = 2 To n Step 1
m2="" <--- 加這行
Sheets(Sheets("Sheet2").Cells(i, "C").Value).Select
If IsEmpty(Range("A3")) Then
Range("A2").Select
Selection.Copy
Range("B2").Select
ActiveSheet.Paste
Else
For m = 2 To Range("A2").End(xlDown).Row
m2 = m2 & Cells(m, "A") & ";"
Next m
Range("B" & Range("A2").End(xlDown).Row) = Left(m2, Len(m2) - 1)
End If
Next i
End Sub
加一列試試看
If IsEmpty(Range("A3")) Then
Range("A2").Select
Selection.Copy
Range("B2").Select
ActiveSheet.Paste
Else
m2 = ""'加這列
For m = 2 To Range("A2").End(xlDown).Row
m2 = m2 & Cells(m, "A") & ";"
Next m