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

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

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

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

VBAコード

ここでは例として、
 ・配列「employees」を作成し
 ・シート「sample」のB列に
 ・2行から配列「employees」の要素の数ぶん
セルへ設定します。

Option Explicit

Sub sample()
    
    '配列を設定する列
    Const TARGET_COLUMN As Integer = 2
    
    Dim employees As Variant
    Dim startRow As Long
    Dim endRow As Long
    
    '配列を作成
    employees = Array("田中", "佐藤", "小島", "飯島", "遠藤")
    
    '配列を設定する開始行
    startRow = 2
    '配列を設定する最終行
    endRow = startRow + UBound(employees)
    
    '配列をセルへ設定(縦方向)
    Worksheets("sample").Range(Cells(startRow, TARGET_COLUMN), Cells(endRow, TARGET_COLUMN)) = WorksheetFunction.Transpose(employees)
    
End Sub

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

実行結果

配列の設定値をセル(縦方向)へ設定することが出来ました。

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