以下の処理を短くしてください。また、処理内容が理解できるように、コメントも付けてください。
--
' 複数のシートの管理（2）
Sub sample5_12()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim data As Variant
    Dim lastRow As Long
    Dim lastCol As Long
    Dim i As Long, j As Long
    ' 変数ws1、ws2に、シート「Sheet1」「Sheet2」を代入
    Set ws1 = Worksheets("Sheet1")
    Set ws2 = Worksheets("Sheet2")
    ' Sheet1のデータが入力されたセル（UsedRange）を配列として取得
    data = ws1.UsedRange.Value
    ' UBound関数で最終行と最終列を取得
    lastRow = UBound(data, 1)  ' 最終行を取得（1次元目のサイズ）
    lastCol = UBound(data, 2)  ' 最終列を取得（2次元目のサイズ）
    ' For～Next文で、Sheet1のデータをSheet2へコピー
    For i = 1 To lastRow
        For j = 1 To lastCol
            ' Sheet2にデータをコピー
            ws2.Cells(i, j).Value = data(i, j)
        Next j
    Next i
End Sub