• ベストアンサー

userformのcommandbuttonでプロシージャーをランダムに実行させたい

excel vba 初心者です。 userformにlabel1~label5、commandbutton1があります。 セル内の文字をlabel1~label5に表示させるプロシージャーを  PRO1() とつくりました。 セル範囲の違うものを PRO2()、PRO3().....PRO50() まで作りました。 commandbutton1 でこの50個のプロシージャーをランダムに実行させることはできるのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

n-junです。 Dim i As Long i = Int(Rnd() * 50) + 1 ラベル1は、Range("A" & i * 6 - 4).Value ラベル2は、Range("A" & i * 6 - 3).Value ・・・ ラベル5は、Range("A" & i * 6).Value となるのでは?

nan30
質問者

お礼

うまくいきました。 ありがとうございました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

セル範囲だけが違うのなら、乱数から取得するセル範囲を変更させる事で、 >この50個のプロシージャー って1個でいいようにも思うんですけど、やっぱ50個必要なんでしょうか? >セル内の文字をlabel1~label5に表示 セルの並びに規則性がないのかな。

nan30
質問者

お礼

早速の回答ありがとうございます。 今、仕事中なので家に帰ってからやってみます。

nan30
質問者

補足

Label1に関係するLabel2、3、4、5 なので1セットでひとつのプロシージャーにしました。 セルの並びに規則性はあります。  PRO1() Label1 = A2 Label2 = A3 Label3 = A4 Label4 = A5 Label5 = A6 PRO2() Label1 = A8 Label2 = A9 Label3 = A10 Label4 = A11 Label5 = A12  行が+6づつとなります。

関連するQ&A