No.3ベストアンサー
- 回答日時:
コントロールのIndexプロパティを利用する方法では二次元配列はできません。
しかし、変数としての二次元配列ならできます。
Dim TextBoxes(3, 10) As TextBox
などとすると、テキストボックスの多次元配列ができます。
ただし、この変数にはインスタンスがないので、インスタンスは別に作成してやる必要があります。
以下に例を示します。
名前がTexts、Indexが0のTextBoxを配置します。
フォームモジュールに以下を貼り付けます。
Option Explicit
Private TextBoxes(3, 10) As TextBox
Private Sub Form_Load()
On Error Resume Next
Dim N As Long, M As Long, T As Long
For N = 0 To 2
For M = 0 To 9
T = N * 10 + M
Load Texts(T) 'Load Texts(0)はエラーだが無視される
Set TextBoxes(N, M) = Texts(T)
TextBoxes(N, M).Left = N * 1320
TextBoxes(N, M).Top = M * 300
TextBoxes(N, M).Visible = True
Next M
Next N
End Sub
Private Sub Texts_Click(Index As Integer)
MsgBox "これは(" & (Index \ 10) & ", " & (Index Mod 10) & ")です"
End Sub
この方法を使う場合、TextBoxes(N, M)のIndexプロパティはN * 10 + Mを示すので、注意が必要です。
この回答へのお礼
お礼日時:2002/02/12 10:15
ありがとうございます。これが知りたかったのです。
Dimで宣言すれば二次元配列にできそうだ、ということには気づいていたのですが。
インスタンスの生成が足りなかったのですね。ありがとうございました。
No.2
- 回答日時:
Mizyuさん、こんにちは。
コントロールを二次元配列にする方法は知りません。
ただ、二次元配列を添え字につかったらにた処理が出来ると思います。
dim iArry(10,10) as integer
iArry(1,1)=1
iArry(2,1)=2
...
TEXT(iArry(1,1)).TEXT = "AAAAA"
TEXT(iArry(2,1)).TEXT = "BBBBB"
No.1
- 回答日時:
Mizyuさん、こんにちは。
コントロール配列を二次元にする方法はありません!かな?
調べ切っていないのかも知れませんが、僕は知りません。
仮想二次元にして、その都度計算されたらいかがでしょうか。
例えば 5×8 の二次元とします。
DIM TBL(40) as string
for i=1 to 5
for j=1 to 8
TBL((i-1)*8 + j)="テスト"
next j
next i
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- JavaScript オブジェクト配列の各メンバを任意の式で評価して、その評価値が最大のオブジェクトを返す関数はありますか 2 2023/05/20 15:02
- マウス・キーボード Google検索の英語キーボード 英語のキーボードの配列が元に戻らなくなりました まえの配列は左上に 1 2022/06/19 11:41
- Visual Basic(VBA) ExcelVBAで質問です。離れた二次元配列を一つにしたい 4 2022/07/26 19:06
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- JavaScript 二次元配列の全要素の全要素を区切り文字無しで連結する最も単純な書き方を教えてください 3 2023/06/09 12:51
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Excel(エクセル) 配列操作について 5 2023/04/18 07:27
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列数式の解除
-
2つ以上の変数を比較して最大数...
-
MATLABにて場合分け関数を定義...
-
VBA 1次元配列を2次元に追加する
-
AES暗号にて、AES_set_encrypt_...
-
subの配列引数をoptionalで使う...
-
ListViewで、非表示列って作れ...
-
特定のセル範囲で4文字以上入力...
-
配列変数の添字が範囲外ですと...
-
エクセルで最小値から0を除く方法
-
FORTRANのCOMMON文
-
VB6 配列を初期化したい
-
Excel-VBAで内臓のMINVERSE,MM...
-
Javaの配列のlengthプロパティ...
-
Excel VBA配列をFunctionに渡す
-
OutlookVBAでサブフォルダ一括作成
-
配列に同じ値を入れる方法
-
友愛数を探すプログラム
-
verilogで配列の任意の8bitを取...
-
【VBA】配列とWorksheetFunctio...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列数式の解除
-
2つ以上の変数を比較して最大数...
-
配列変数の添字が範囲外ですと...
-
VB6 配列を初期化したい
-
VBA 1次元配列を2次元に追加する
-
ListViewで、非表示列って作れ...
-
2次元動的配列の第一引数のみを...
-
for each の現在の配列ポインタ...
-
特定のセル範囲で4文字以上入力...
-
subの配列引数をoptionalで使う...
-
配列を任意の数値で埋める方法
-
VBのFunctionで、配列を引数...
-
verilogで配列の任意の8bitを取...
-
Excel-VBAの配列「Public Const...
-
配列に同じ値を入れる方法
-
VBAで近似曲線の係数取得
-
linest関数に配列を渡す
-
Excel VBA配列をFunctionに渡す
-
MATLABにて場合分け関数を定義...
-
シェルスクリプト中で、ヒアド...
おすすめ情報