想請教一下各位大神~~
我目前正在做客戶成本利潤分析表,每一個客戶的資料都是單獨的工作表,我希望可以在每一個客戶的工作表上有一個可以將I5:N5的資料複製貼上到總表的巨集按鈕,-而總表內不超過300筆資料。
(註:我已經會把每一個客戶工作表在相同位置放同一個巨集按扭了)
我現在卡在條件式迴圈裡,我的想法是透過FOR NEXT 自動換行,但我觀念還是不太好,在這迴圈內會一直將同一筆資料複製貼上300次,確實是有自動換行,但我只希望複製貼上一次,等下一次按另一個客戶工作表的巨集按紐複製資料時再自動換到總表下一行貼上。
請問我該怎麼編寫呢? 再麻煩各位幫小弟解惑! 辛苦各位! 謝謝!
sub 彙總資料()
Dim 客戶姓名 As String
Dim 車款 As String
Dim 車款總價 As String
Dim X as Interger
Range("I5:N5").Select
Selection.Copy
客戶姓名 = ThisWorkbook.ActiveSheet.Name
車款 = ThisWorkbook.ActiveSheet.Range("B2")
車款總價 = ThisWorkbook.ActiveSheet.Range("B3")
成本價 = ThisWorkbook.ActiveSheet.Range("C6")
sheets("總表").Select
If Cells(X, 3) = 0 Then
Range("A2").Offset(X - 2) = 客戶姓名
Range("B2").Offset(X - 2) = 車款
Range("C2").Offset(X - 2) = 車款總價
Range("D2").Offset(X - 2) = 成本價
Range("E2").Offset(X - 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, skipblanks:=False, Transpose:=False
ElseIf Cells(X, 3) <> 0 And Cells(X + 1, 3) = 0 Then
Range("A2").Offset(X - 1) = 客戶姓名
Range("B2").Offset(X - 1) = 車款
Range("C2").Offset(X - 1) = 車款總價
Range("D2").Offset(X - 1) = 成本價
Range("E2").Offset(X - 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, skipblanks:=False, Transpose:=False
End If
Next X
我看不太懂迴圈要用在什麼地方(你程式裡也沒有寫 FOR)
我改寫你的程式
結果如下
1.執行前
2.執行VBA
3.執行後結果
在「特斯拉」工作表執行 VBA 後
接著在「富士康」工作表執行 VBA 後
大致上就是把該工作表的I5:N5複製然後貼在「總表」的最後一列空白列