【VBA】ループ処理を使用せずに、配列の設定値をセル(縦方向)へ設定する

ループ処理を使用せずに、簡易な方法で配列の設定値を
セル(縦方向)へ設定できます!

ループ処理が不要のため、
処理の高速化が期待できます!

WorksheetFunction.Transpose」を使用して、
配列の設定値をセルへ設定します!

PR

VBAコード

ここでは例として、
 ・配列「arrEmployees」を作成し
 ・シート「sample」のセル「B2」から
 ・配列「employees」をセル(縦方向)へ設定
します。

Option Explicit

Sub sample()
    
    Dim startRange As Range
    Dim endRow As Long
    Dim endRange As Range
    Dim arrEmployees As Variant
    
    '配列を作成
    arrEmployees = Array("田中", "佐藤", "小島", "飯島", "遠藤")
    
    '開始セルを取得
    Set startRange = Worksheets("sample").Range("B2")
    
    '配列を設定する最終行
    endRow = startRange.row + UBound(arrEmployees)
    
    '最終セルを取得
    Set endRange = Worksheets("sample").Cells(endRow, startRange.Column)
    
    '配列をセルへ設定(縦方向)
    Worksheets("sample").Range(startRange, endRange) = WorksheetFunction.Transpose(arrEmployees)
    
End Sub

Arrayを利用して配列を作成する場合、配列の型は「Variant」にしないといけません。

PR

実行結果

配列の設定値をセル(縦方向)へ設定できました。

タイトルとURLをコピーしました