哀戦士のオンラインメモ帳。 忍者ツールズって15年前にお世話になってたけど今も 残っててびっくりした。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Dim total As Long
total = WorksheetFunction.Sum(arr)
https://www.relief.jp/docs/excel-vba-sum-array-elements.html
variant型はキャスト使えない
https://vba-create.jp/vba-array-convert-type/#toc1
2次元配列を1次元配列に変換
Dim
Array1D
As
Variant
'一次元配列
Dim
Array2D
As
Variant
'二次元配列
Array2D = Range(
"A1:E5"
)
'■二次元配列の指定行(2行目)を一次元配列に格納する
Array1D = WorksheetFunction.Index(Array2D, 2)
'■二次元配列の指定列(A列(1列目))を一次元配列に格納する
Array1D = WorksheetFunction.Index(WorksheetFunction.Transpose(Array2D), 1)
https://vba-create.jp/vba-array-conv-transpose/
【Excel VBA】2次元配列から1次元目の要素 (配列) を取り出すことはできません><
https://oki2a24.com/2016/02/24/cannot-pick-up-1-d-array-from-2-d-array-in-excel-vba/
コピー範囲を配列に入れて、一括で貼り付けします。
Sub Sumple4()
Dim MyArray As Variant
MyArray = Range(Cells(1, 1), Cells(10000, 1))
Range(Cells(1, 2), Cells(10000, 2)) = MyArray
End Sub
https://officedic.com/excel-vba-copy-paste-highspeed/#toc3
また、CurrentRegionプロパティを使って指定したセルを含む、セルの範囲指定が可能です。
ただし、CurrentRegionプロパティを使う場合は、表の途中に空白行がないことが前提となりますのでご注意ください。
https://lbibouroku.hatenablog.com/entry/array_6
グラフの要素を配列で与える
https://learn.microsoft.com/ja-jp/office/vba/api/excel.series.xvalues