![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
VBAで
・ループ処理を使用せずに
・簡易な方法で配列の設定値を
・セル(縦方向)へ貼り付け
できます!
![配列](https://excel-vba.work/wp-content/uploads/2022/08/vba_hairetucell_002.png)
![セル(縦方向)へ貼り付け](https://excel-vba.work/wp-content/uploads/2020/11/vba_hairetucell_001.png)
![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
ループ処理が不要のため、
処理の高速化が期待できます!
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
実行結果
配列の設定値をセル(縦方向)へ設定できました。
![実行結果](https://excel-vba.work/wp-content/uploads/2020/11/vba_hairetucell_001.png)
参考
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「Worksheetオブジェクト」の「Range」プロパティ
●Array関数
●UBound関数
●「Rangeオブジェクト」の「Offset」プロパティ
●「WorksheetFunctionオブジェクト」の「Transpose」メソッド