【VBA】非表示シートを配列を使って高速に転記する方法
手作業でのデータ移動は時間がかかるだけでなく、ミスのリスクも高まります。この記事では、非表示シートからデータを高速に別のシートへ転記する方法を紹介します。VBAを使用することで、業務効率を大幅に向上させましょう。
サンプルコード
VBA
Option Explicit
Sub TransferHiddenSheetData()
' 非表示の元シートと目的のターゲットシートを指定
Dim wsSource As Worksheet, wsTarget As Worksheet
Set wsSource = ThisWorkbook.Sheets("HiddenSheet")
Set wsTarget = ThisWorkbook.Sheets("TargetSheet")
' 画面更新停止(高速化)
Application.ScreenUpdating = False
' 元シートの最終行を取得
Dim lastRow As Long
lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row
' 配列にデータを読み込む
Dim data() As Variant
data = wsSource.Range("A1:Z" & lastRow)
' データをターゲットシートへ書き込み
wsTarget.Cells(1, 1).Resize(lastRow, UBound(data, 2)).Value = data
' 画面更新再開
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。