VBAで
・ループ処理を使用せずに
・簡易な方法で配列の設定値を
・セル(縦方向)へ貼り付け
できます!
ループ処理が不要のため、
処理の高速化が期待できます!
VBAコード
ここでは例として、
・配列「arrEmployees」を作成し
・シート「sample」のセル「B2」から
・配列「employees」をセル(縦方向)へ設定
します。
Option Explicit
Sub sample()
Dim arrEmployees As Variant
Dim startRange As Range
Dim endRange As Range
'配列を作成
arrEmployees = Array("田中", "佐藤", "小島", "飯島", "遠藤")
'開始セルを取得
Set startRange = Worksheets("sample").Range("B2")
'最終セルを取得
Set endRange = startRange.Offset(UBound(arrEmployees), 0)
'配列をセルへ設定(縦方向)
Range(startRange, endRange) = WorksheetFunction.Transpose(arrEmployees)
End Sub
実行結果
配列の設定値をセル(縦方向)へ設定できました。
参考
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「Worksheetオブジェクト」の「Range」プロパティ
●Array関数
●UBound関数
●「Rangeオブジェクト」の「Offset」プロパティ
●「WorksheetFunctionオブジェクト」の「Transpose」メソッド