※ ChatGPTを利用し、要約された質問です(原文:セルの数字を配列に格納するためのVBAソースは?)
Excel VBAソースでセルの数字を配列に格納する方法
このQ&Aのポイント
Excel VBAを使用して、セルに貼り付けた数字を自動的に配列に格納する方法について教えてください。
現在は直接数字を設定している配列をスクリプト内で自動的に更新できる方法が知りたいです。
上記のソースコードに貼り付けた数字を自動で配列に格納するVBAスクリプトの記述方法を教えてください。
どなたかご存知でしたらご教授願います。
以前、こちらの相談室にて、エクセルで「25C5」という組み合わせを作成するVBAソース
を見つけました。これを少し改造して下記のようなソースにしました。
【25C5を作成するソース】
Sub test()
Const MaxNum = 25
Dim s(25) As String
s(1) = "9"
s(2) = "10"
s(3) = "19"
s(4) = "23"
s(5) = "25"
s(6) = "8"
s(7) = "17"
s(8) = "22"
s(9) = "24"
s(10) = "31"
s(11) = "6"
s(12) = "7"
s(13) = "16"
s(14) = "18"
s(15) = "21"
s(16) = "4"
s(17) = "14"
s(18) = "15"
s(19) = "29"
s(20) = "30"
s(21) = "2"
s(22) = "12"
s(23) = "13"
s(24) = "27"
s(25) = "28"
Dim i, j, k, l, m
Dim rowX As Long
rowX = 1
rowX = rowX + 1
For i = 1 To MaxNum - 4
For j = i + 1 To MaxNum - 3
For k = j + 1 To MaxNum - 2
For l = k + 1 To MaxNum - 1
For m = l + 1 To MaxNum
Cells(rowX, 1).Value = s(i)
Cells(rowX, 2).Value = s(j)
Cells(rowX, 3).Value = s(k)
Cells(rowX, 4).Value = s(l)
Cells(rowX, 5).Value = s(m)
rowX = rowX + 1
Next m
Next l
Next k
Next j
Next i
End Sub
ここで質問ですが、上記ソースの配列は25個(S(1)~S(25))あります。
現在は上記ソースの配列1つずつに毎回直接数字を設定しております。
これが面倒くさいので、下記のようにセルに貼り付けをしたら、
それを自動で配列に格納して、上記ソースへと連動させるためのVBAソースは
どうやって記述すればよいですか?
【セルに貼り付ける数字】
9 10 19 23 25
8 17 22 24 31
6 7 16 18 21
4 14 15 29 30
2 12 13 27 28
●注意事項
(1)セルに貼り付ける数字の値は毎回異なりますが、5×5は毎回同じです。
(2)使用するエクセルは2010です。
以上
お礼
そうですね。教えてもらったソースで置き換えられた事を忘れてました。 失礼しました。