我正在構建一個宏,它將通過從另一個行提取數據來創建一個自動報告(報告表的名稱是「RCCP INPUT」)工作表(來源名爲「CW33 17」)。我已經構建了針對源表單的一行運行的代碼,因此它只爲一行創建報表(每行表示一個訂單)。我想有一個行範圍的報告,所以我需要擴展我的代碼來申請一系列的行。因此,可以說這個範圍被稱爲myRange,它包括第2到第70行。所以,我的報告必須包含所有這些行。我的代碼在下面提供。我也包含了標題,因此報告從第2行開始。宏現在運行的行是第2行。爲了更清楚地說明,報告必須將從源中選擇的每行都乘以6 (6個副本,一個在另一個下方),因爲它可以從下面的宏中看到,因爲在預測列和預測數量列中,每個訂單(行)必須具有6周的值。我希望我已經澄清了!任何想法如何使它工作?..我迄今失敗悲慘..非常感謝!爲單行的代碼創建一系列行的循環
報告看起來像這樣(對於一行 - 因爲它乘以6),其他行應該以相同的方式放置在下面。
Sub RCCP_INPUT()
Sheets("RCCP INPUT").Select
range("C1").Value = "T-Lane ID" 'Column C
range("D1").Value = "Week of RCCP" 'Column D
range("E1").Value = "Forecast" 'Column E
range("F1").Value = "Forecast Quantity" 'Column F
Sheets("CW33 17").Select
range("D2:E2").Copy
Sheets("RCCP INPUT").Select
range("A2").Select
ActiveSheet.Paste
Dim rws As Long
With range("A2:B2")
rws = .Rows.Count
.Resize(rws).Copy Destination:=.Offset(rws).Resize(rws * 5)
End With
range("C2").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-2],RC[-1])"
ActiveCell.Value = ActiveCell.Value
With range("C2")
rws = .Rows.Count
.Resize(rws).Copy Destination:=.Offset(rws).Resize(rws * 5)
End With
Sheets("CW33 17").Select
range("G2:L2").Select
Selection.Copy
Sheets("RCCP INPUT").Select
range("F2:F7").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Sheets("RCCP INPUT").Select
i = 1
For Each cell In range("E2:E7")
cell.Value = "Week +" & i
i = i + 1
Next cell
Sheets("RCCP INPUT").Select
range("E2").Value = Sheets("CW33 17").range("G2").Value - 1
With range("E2")
rws = .Rows.Count
.Resize(rws).Copy Destination:=.Offset(rws).Resize(rws * 5)
End With
End Sub
「到目前爲止,我已經慘敗失敗......要在我的問題上找到答案「。看着你的個人資料,你很難接受任何答案。 – cyboashu
我看到你在這段代碼中使用我的答案。然而你沒有接受我的回答。 –
@ScottCraner我upvoted的評論:)它真的很有幫助!除了upvoting我怎麼能接受它? –