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

一次元配列を
「横一行」に
貼りたい
「横一行」に
貼りたい
セル範囲をリサイズして一次元配列を貼り付ける
' Paste 1D array horizontally into a worksheet cell
' 一次元配列をシート上に横方向に貼り付ける
Public Sub PasteToCellResize1AryForX( _
ByVal ws As Worksheet, _
ByVal row As Long, _
ByVal col As Long, _
ByRef ary As Variant)
' 要素数 = UBound - LBound + 1(0始まり/1始まりの差異を自然に吸収)
Dim colCount As Long
colCount = UBound(ary) - LBound(ary) + 1
' 横方向に colCount 列分を貼り付け
ws.Cells(row, col).Resize(1, colCount).Value = ary
End Sub
Resizeって?

セル範囲の大きさを変えること
Point:Resize が欲しいのは「終端インデックス」ではなく要素数
UBound - LBound + 1を列数にしてResize(1, colCount)に渡す- 0始まり/1始まりどちらでも自動で正しく要素数が出る
1次元配列×
Resize(1, n) Always pass “element count” (not an index) to Resize, computed as UBound - LBound + 1.Resize には“要素数”を渡す
Vocabulary
| Lower Bound|下限 |
| Upper Bound|上限 |
| Element Count|要素数 |
| Horizontal Paste|横方向貼り付け |
| Resize|リサイズ |
その他の貼り付け
縦方向の場合
二次元配列の場合

同じ処理をPythonでも書いてみよう
2022-12-04
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-

ユーザーフォームを半透明にする 【VBA】ユーザーフォームを半透明にしてシートの内容が見えるようにする|waiting-form -

[VBA]copyfile 【VBA】ブックを複製する|fso.CopyFile -

[VBA]Auto DiffHTML Output 【VBA】WinMergeでファイルを自動比較&HTMLレポート出力|AIより手軽 -

[VBA]Transpose2D Array 【VBA】配列の縦横変換|WorksheetFunction.Transpose は使わない -

文字列から拡張子を取得する 【VBA】文字列から拡張子を取得して、文字列として返す|InStrRev -

Excel内でSQLを使いたい 【VBA】Excelシート内の表データをSQLで操作したい