【VBA】特定の名前のシートを高速に配列に格納する方法
手作業で大量のデータを移動するのは大変です。このマクロを使えば、特定の名前のシートを高速に配列に格納し、効率的に業務を進めることができます。
サンプルコード
VBA
Option Explicit
Sub SheetToArray()
Dim ws As Worksheet, lastRow As Long, i As Integer
Dim sheetName As String
Dim arr() As Variant
' シート名の指定(ここでは「Sheet1」を例として使用)
sheetName = "Sheet1"
Set ws = ThisWorkbook.Sheets(sheetName)
' 画面更新停止
Application.ScreenUpdating = False
' 最終行取得
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
' 配列の初期化(必要な範囲を指定)
ReDim arr(1 To lastRow)
' データ格納処理
For i = 1 To lastRow
arr(i) = ws.Cells(i, 1).Value
Next i
' 処理終了後、画面更新を再開
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。