Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5917 / 13645 ツリー ←次へ | 前へ→

【48229】配列名について kanae 07/4/9(月) 14:24 質問[未読]
【48230】Re:配列名について neptune 07/4/9(月) 14:41 回答[未読]
【48233】Re:配列名について kanae 07/4/9(月) 15:51 お礼[未読]

【48229】配列名について
質問  kanae  - 07/4/9(月) 14:24 -

引用なし
パスワード
   お世話になります。
基本的なことなのかもしれませんが、ご教授お願いします。
配列の名前で数字の部分をカウントして連続処理したいのですがどうすればいいのか分かりません。
下記のようなプログラムだと、『check1_ken』という文字列を受け渡してしまい、型が合わずエラーになります。
check1_ken,check2_ken,check3_kenという配列の値を受け渡しに使うにはどうしたらよいのでしょうか?
よろしくお願いします。

Public check1_ken As Variant
Public check2_ken As Variant
Public check3_ken As Variant

sub test
check1_ken = Array(.Range("b25"), .Range("c25"))
check2_ken = Array(.Range("b42"), .Range("d66"))
check3_ken = Array(.Range("b58"), .Range("e98"))

for i = 1 to 3
   keisan i,"check"& i &"_ken" 
next i
  :
end sub

Sub keisan(k As integer, ken As Variant)
  :
  :
end sub

【48230】Re:配列名について
回答  neptune  - 07/4/9(月) 14:41 -

引用なし
パスワード
   ▼kanae さん:

こんな感じでどうでしょう?
Public check_ken(2) As Variant

sub test
 check_ken(0) = Array(.Range("b25"), .Range("c25"))
 check_ken(1) = Array(.Range("b42"), .Range("d66"))
 check_ken(2) = Array(.Range("b58"), .Range("e98"))

 for i=0 to 2
  keisan i,check_ken(i)
 next i
end sub

>
>Sub keisan(k As integer, ken As Variant)
>  :
>  :
>end sub

【48233】Re:配列名について
お礼  kanae  - 07/4/9(月) 15:51 -

引用なし
パスワード
   ▼neptune さん:
ありがとうございます!!
まさに私が求めていた答えでした♪
本当にありがとうございました。

5917 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free