Excel VBA質問箱 IV

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

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


33906 / 76738 ←次へ | 前へ→

【48048】Re:マルチページについて
回答  りん E-MAIL  - 07/4/1(日) 18:11 -

引用なし
パスワード
   トムコ さん、こんばんわ。

>上記のマクロに、○を記入するマクロを組み込めばよいのでしょうか?
If   OpB1.Value = True Then
  ST = 1: ReT = 4
ElseIf OpB2.Value = True Then
  ST = 1: ReT = 7
ElseIf OpB3.Value = True Then
  ST = 1: ReT = 10
       ・
       ・
       ・

○を記入するマクロが「記録」と考えて、最初の分岐を組み込んで有効だったら記録をCallします。
また、オプションボタンのオブジェクト名がOpB*で、列番号が3つおきのようなので、オブジェクト名から列番号を計算しています。

Private Sub CommandButton2_Click()
  Dim obj As Object
  Dim PP(0 To 5) As String
  '
  For Each obj In Me.Controls
   Select Case UCase(TypeName(obj))
     Case "MULTIPAGE"
      NN% = obj.Value
     Case "OPTIONBUTTON"
      'Trueの時は配列に確保
      If obj.Value = True Then
        PP(obj.Parent.Index) = obj.Name
      End If
   End Select
  Next
  '結果表示(チェックされたものが無ければ空白が返ります)
  If PP(NN%) = "" Then
   MsgBox "チェックを入れてからクリックしてね", vbExclamation
  Else
   '列番号計算
   Ret = Val(Replace(UCase(PP(NN%)), "OPB", "")) * 3 + 1
   St = 1 'これは分岐しなくていいのかな?
   If Ret > 1 Then
     MsgBox Ret, vbInformation, PP(NN%) 'Retの計算結果
     '
     記録 '記録をよぶならここ
   Else
     MsgBox PP(NN%), vbExclamation, "オブジェクト名確認"
   End If
  End If
  Erase PP
End Sub

こんな感じです。

0 hits

【48035】マルチページについて トムコ 07/4/1(日) 2:27 質問
【48041】Re:マルチページについて りん 07/4/1(日) 10:46 発言
【48045】Re:マルチページについて トムコ 07/4/1(日) 13:46 お礼
【48046】Re:マルチページについて りん 07/4/1(日) 14:10 回答
【48047】Re:マルチページについて トムコ 07/4/1(日) 15:02 お礼
【48048】Re:マルチページについて りん 07/4/1(日) 18:11 回答
【48052】Re:マルチページについて トムコ 07/4/1(日) 21:02 お礼
【48053】Re:マルチページについて りん 07/4/1(日) 21:34 発言
【48066】Re:マルチページについて トムコ 07/4/2(月) 17:51 お礼

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