http://officetanaka.net/excel/vba/speed/s2.htm

https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.copy

Private Sub CommandButton1_Click()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim rg1 As Range
Dim rg2 As Range

Set sh1 = ThisWorkbook.Sheets("MENU")
Set sh2 = Workbooks("Book1").Sheets("Sheet1")

Sheets("MENU").Cells(14, 3).Copy Workbooks("Book1").Sheets("Sheet1").Cells(14, 1)
sh1.Cells(14, 5).Copy sh2.Cells(14, 5)


Set rg1 = ActiveSheet.Range("e13:f13")
Set rg2 = Workbooks("Book1").Sheets("Sheet1").Range("b1")
rg1.Copy rg2


Set rg1 = ActiveSheet.Range("こぴ")
rg1.Copy Workbooks("Book1").Sheets("Sheet1").Range("c4")

End Sub
    










----------------------------------------------------------------
■コピー処理に失敗した場合、一定時間待機後リトライする処理を入れるこ

    Dim copyRetryCount As Integer:copyRetryCount = 10 'リトライ回数
    'エラー時はリトライ処理に飛ぶ
    On Error GoTo CopyRetry
    '/////////
    'コピー処理
    '/////////
     'エラー処理を解除
     On Error GoTo 0
     Exit Sub 'リトライ処理に飛ぶ前にメソッドから抜ける

'リトライ処理
CopyRetry:
    '一定時間待機後、エラー直前の処理に飛ぶ
    copyRetryCount = copyRetryCount - 1
    If copyRetryCount < 1 Then
        'リトライ回数が0の場合は、エラー処理を解除
        On Error GoTo 0
    End If
    '100ミリ秒 経過後再試行
    Application.Wait [Now()] + 100 / 86400000
    DoEvents
    Resume


■表全体を簡単に取得する「アクティブセル領域」
Range("A2").CurrentRegion
「Ctrl + Shift + :」 ←ショートカット


■ワークシート.AutoFilter.Range
キレイにフィルターがかかっているなら、こっちを使いましょう。
オートフィルターのかかっているエリア全体を取得できます。
起点となるセルを探さなくてもいい


■メインとなるプロシージャの最初と最後に書いておくもの

☆最初
With Application
    .ScreenUpdating = False	'画面遷移off
    .EnableEvents = False	'イベントの発生を停止(無限Loop等回避)
    .Calculation = xlCalculationManual	'自動計算off
    .DisplayAlert = false	'画面アラートoff
End With

☆最後
With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = xlCalculationAutomatic
    .DisplayAlert = true
    .CutCopyMode = false	'コピペの後を消す
End With


■Range
・固定位置のセル
	Range("B2")
・セル範囲(複数セル)
	Range("A1:C5")
	Range("1:5")
	Range("A:C")
・名前定義
	Range("名前定義の名前")
■Cell
・1つのセル
	Cells(5, 3)
	Cells(5, "C")
・セル範囲(複数セル)
	Worksheets("sheet1").Range(Cells(行, 列), Cells(行, 列))---[Range]&[Cells] は要【sheet指定】
・複数行全体、複数列全体の指定
	Range(Rows(1), Rows(5))
	Range(Columns(1), Columns(3))



■一番下のセル
    '作業シートの最終行を取得
        Selection.SpecialCells(xlCellTypeLastCell).Select