【VBA】一次元配列を縦方向にシートに貼り付け【範囲をリサイズする】
作成日:2022-12-04
更新日:2025-10-03

一次元配列を
「縦一行」に
貼りたい
「縦一行」に
貼りたい
セル範囲をリサイズして一次元配列を貼り付ける
transposeして縦に貼り付ける
' Paste 1D array vertically into a worksheet cell
' 一次元配列をシート上に縦方向に貼り付ける
Public Sub PasteToCellResize1AryForY( _
ByVal ws As Worksheet, _
ByVal row As Long, _
ByVal col As Long, _
ByRef ary As Variant)
Dim rowCount As Long
' 要素数 = UBound - LBound + 1
rowCount = UBound(ary) - LBound(ary) + 1
' 縦方向に rowCount 行分貼り付け
ws.Cells(row, col).Resize(rowCount, 1).Value = WorksheetFunction.Transpose(ary)
End Sub

Transposeって?
Transpose
縦と横を入れ替える
小数データであれば WorksheetFunction.Transpose が使える
Microsoft. (n.d.). WorksheetFunction.Transpose method (Excel). https://learn.microsoft.com/en-us/office/vba/api/excel.worksheetfunction.transpose

ちなみに、
リサイズで、セル範囲の大きさを変えている
その他の貼り付け
横方向の場合
二次元配列の場合

同じ処理をPythonでも書いてみよう
2022-12-04
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-
UsedRangeのデータを配列で取得 【VBA】シートにあるデータを配列に格納する(空白含む)|UsedRange -
dictionaryをセットする 【VBA】Dictionaryのセット|CreateObject(“Scripting.Dictionary”) -
ユーザーフォームをシステムっぽく 【VBA】ユーザーフォームのみ起動して、シートを表示しない方法 -
テーブルの指定位置に行を追加 【VBA】Excelテーブルの指定した位置に行を追加する -
[VBA]開いているブックからファイルを探す 【VBA】開いている全ブックから対象ブックをセット|InStr ファイル名の一部で判定 -
[VBA]画像として貼り付けCopyPicture 【VBA】セル範囲を画像としてコピーする|CopyPicture