Neu in VBA und selbstständig lernen. Die Absicht für den folgenden Code ist, Zelle "D5" von jedem Blatt in der Arbeitsmappe zu kopieren und dann alle Daten in Arbeitsmappe "Data", Bereich D4: D300 (der Bereich ist ziemlich breit, so dass mehr Zelle verfügbar als Zellen haben kopiert). Das Problem ist, dass der folgende Code nicht funktioniert. Der gesamte Code besteht darin, Zelle D5 von dem ersten Blatt über den angegebenen Bereich hinweg zu bewältigen (D4: D300). Grundsätzlich den gleichen Wert 266 mal kopieren. Jede Hilfe wird sehr geschätzt. Wenn es eine elegantere/effizientere Möglichkeit gibt, diesen Code zu schreiben, geben Sie dies bitte an.VBA: Zelle aus allen Arbeitsblättern kopieren und in Spalte einfügen
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