我在工作簿中有50個工作表。列a,b,c,d與列e,f,g,h相同,但是這兩個集合可能具有不同數量的行/觀察值。我需要將所有內容整合到只有3列的單張紙上。我需要追加列名,從第3行開始複製和粘貼(值)(直到數據結束)。我也嘗試過錄制宏,但在這種情況下,我必須手動完成所有的工作表。有人能帶領我走向正確的方向嗎?我對VBA很陌生,有一點幫助會很感激。我記錄的宏複製2張是這樣的:如何將從不同工作表橫向放置的相同列複製到單個工作表中?
Sheets("page 9").Select
Range("A3:D3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets.Add After:=Sheets(Sheets.Count)
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlDown).Select
Range("A67").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("page 9").Select
Range("E3:H3").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets("Sheet1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlDown).Select
Range("A132").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("page 10").Select
Range("A65").Select
Selection.End(xlUp).Select
Range("A3:D3").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets("Sheet1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlDown).Select
Range("A197").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("page 10").Select
Range("E3:H3").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets("Sheet1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlUp).Select
Range("A1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Date"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Type"
Range("C1").Select
ActiveCell.FormulaR1C1 = "Size"
Range("D1").Select
ActiveCell.FormulaR1C1 = "Discount"
Range("A1").Select
End Sub
以上是合理的建議,我想補充一點,你需要學習兩件事。第一種是VBA編程語言:這是關於使用變量和控制語句,如For ... Next循環和條件(如If ... Then)。第二個是Excel使用的對象(如工作表和範圍)及其屬性和方法。宏錄像機對前者沒有幫助,但它可以幫助識別需要操作的對象(儘管它可能非常笨重和冗長),所以請嘗試將其主要用於識別目的。 – DMM
基本上我有2套數據(每套3列)需要複製。 每套都並排放置,我的主表只包含一套。 上面的代碼僅反映2張。你能幫我麼? – Ayan
在這裏和那裏設置代碼片段比學習語言更好,我必須同意。更好,謝謝! – Ayan