VBA中的新功能和自行學習。 以下代碼的目的是從工作簿中的每張工作表中複製單元格「D5」,然後將所有數據粘貼到工作簿「數據」中,範圍D4:D300(範圍相當廣泛,因此它將具有比單元格更多的單元格複製)。問題是下面的代碼不起作用。所有的代碼正在執行的是從第一個表單上的D5單元格(D4:D300)。基本上覆制相同的值266次。任何幫助,高度讚賞。 如果有更優雅/有效的方式來寫這段代碼,請告知。VBA:複製所有工作表中的單元格並粘貼到列中
Sub copycell()
Dim sh As Worksheet
Dim wb As Workbook
Dim DestSh As Worksheet
Dim LastRow As Long
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set wb = ThisWorkbook
Set DestSh = wb.Sheets("Data")
' Loop through worksheets that start with the name "20"
For Each sh In ActiveWorkbook.Worksheets
' Specify the range to copy the data
sh.Range("D5").Copy
' Paste copied range into "Data" worksheet in Column D
With DestSh.Range("D4:D300")
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End With
Next
End Sub