Excel VBA質問箱 IV

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

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


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

【39543】オプションボタンに制限はあるの? taka 06/6/26(月) 15:03 質問[未読]
【39556】Re:オプションボタンに制限はあるの? Statis 06/6/26(月) 15:50 発言[未読]
【39558】Re:オプションボタンに制限はあるの? taka 06/6/26(月) 16:28 発言[未読]
【39583】Re:オプションボタンに制限はあるの? taka 06/6/27(火) 8:19 質問[未読]
【39584】Re:オプションボタンに制限はあるの? taka 06/6/27(火) 8:46 お礼[未読]

【39543】オプションボタンに制限はあるの?
質問  taka  - 06/6/26(月) 15:03 -

引用なし
パスワード
   こんにちは、いつもお世話になっています。


With Worksheets(MyS)
   Me.OLEObjects("OptionButton" & .Range("BG31").Value).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG32").Value + 5).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG33").Value + 7).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG34").Value + 9).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG35").Value +
11).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG36").Value + 13).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG37").Value + 15).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG38").Value + 17).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG39").Value + 19).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG40").Value + 22).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG41").Value + 24).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG42").Value + 27).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG43").Value + 30).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG44").Value + 33).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG45").Value + 35).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG46").Value + 37).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG47").Value + 40).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG48").Value + 42).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG49").Value + 44).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG50").Value + 46).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG51").Value + 48).Object.Value = True
   Me.OLEObjects("OptionButton" & .Range("BG52").Value + 50).Object.Value = True
End With


というようにコードを作ったのですがoptionbutton41〜は操作がききません。
どういう事なんでしょうか?

【39556】Re:オプションボタンに制限はあるの?
発言  Statis  - 06/6/26(月) 15:50 -

引用なし
パスワード
   こんにちは。

お聞きします。
1:オプシンボタンの優先順位はどうなりますか?

>Me.OLEObjects("OptionButton" & .Range("BG31").Value).Object.Value = True
2:上記で「True」になればそれ以降のコードは処理する必要は無いですよね?

3:各セルの値によってはループ処理できるかも??


1〜3の質問にお答えください。

【39558】Re:オプションボタンに制限はあるの?
発言  taka  - 06/6/26(月) 16:28 -

引用なし
パスワード
   ▼Statis さん:
>こんにちは。
>
>お聞きします。
>1:オプシンボタンの優先順位はどうなりますか?
>
>>Me.OLEObjects("OptionButton" & .Range("BG31").Value).Object.Value = True
>2:上記で「True」になればそれ以降のコードは処理する必要は無いですよね?
>
>3:各セルの値によってはループ処理できるかも??
>
>
>1〜3の質問にお答えください。

優先順位はありません。
例えばオプションボタン3つで1グループ2つで1グループとなっていて、シート上のフォームのオプションボタンに反映させています。下記コードの様に、それを逆に呼び出す作業です。

For i = 1 To 37
  Select Case i
     Case 1 To 5: Cou = 0: Co = 31  '介護度
     Case 6 To 7: Cou = 5: Co = 32  '他科受診
     Case 8 To 9: Cou = 7: Co = 33  '四肢障害
     Case 10 To 11: Cou = 9: Co = 34 '視力
     Case 12 To 13: Cou = 11: Co = 35 '眼鏡
     Case 14 To 15: Cou = 13: Co = 36 '聴力
     Case 16 To 17: Cou = 15: Co = 37 '補聴器
     Case 18 To 19: Cou = 17: Co = 38 '義歯
     Case 20 To 22: Cou = 19: Co = 39 '意思疎通
     Case 23 To 24: Cou = 22: Co = 40 '言語障害
     Case 25 To 27: Cou = 24: Co = 41 '移動
     Case 28 To 30: Cou = 27: Co = 42 '更衣
     Case 31 To 33: Cou = 30: Co = 43 '食事
     Case 34 To 35: Cou = 33: Co = 44 '胃ろう
     Case 36 To 37: Cou = 35: Co = 45 'ムセ
     Case 38 To 40: Cou = 37: Co = 46 '排泄
     Case 41 To 42: Cou = 40: Co = 47 '睡眠
     Case 43 To 44: Cou = 42: Co = 48 '眠剤
     Case 45 To 46: Cou = 44: Co = 49 'じょくそう
     Case 36 To 37: Cou = 35: Co = 50 'エアマット
     Case 49 To 50: Cou = 48: Co = 51 'アレルギー
     Case 51 To 52: Cou = 50: Co = 52 '問題行動
  End Select
  If Me.OLEObjects("OptionButton" & i).Object = True Then
    Worksheets(MyS).Cells(Co, 59).Value = i - Cou
  End If
Next i

【39583】Re:オプションボタンに制限はあるの?
質問  taka  - 06/6/27(火) 8:19 -

引用なし
パスワード
   ▼taka さん:
>▼Statis さん:
>>こんにちは。
>>
>>お聞きします。
>>1:オプシンボタンの優先順位はどうなりますか?
>>
>>>Me.OLEObjects("OptionButton" & .Range("BG31").Value).Object.Value = True
>>2:上記で「True」になればそれ以降のコードは処理する必要は無いですよね?
>>
>>3:各セルの値によってはループ処理できるかも??
>>
>>
>>1〜3の質問にお答えください。
>
>優先順位はありません。
>例えばオプションボタン3つで1グループ2つで1グループとなっていて、シート上のフォームのオプションボタンに反映させています。下記コードの様に、それを逆に呼び出す作業です。
>
>For i = 1 To 37
>  Select Case i
>     Case 1 To 5: Cou = 0: Co = 31  '介護度
>     Case 6 To 7: Cou = 5: Co = 32  '他科受診
>     Case 8 To 9: Cou = 7: Co = 33  '四肢障害
>     Case 10 To 11: Cou = 9: Co = 34 '視力
>     Case 12 To 13: Cou = 11: Co = 35 '眼鏡
>     Case 14 To 15: Cou = 13: Co = 36 '聴力
>     Case 16 To 17: Cou = 15: Co = 37 '補聴器
>     Case 18 To 19: Cou = 17: Co = 38 '義歯
>     Case 20 To 22: Cou = 19: Co = 39 '意思疎通
>     Case 23 To 24: Cou = 22: Co = 40 '言語障害
>     Case 25 To 27: Cou = 24: Co = 41 '移動
>     Case 28 To 30: Cou = 27: Co = 42 '更衣
>     Case 31 To 33: Cou = 30: Co = 43 '食事
>     Case 34 To 35: Cou = 33: Co = 44 '胃ろう
>     Case 36 To 37: Cou = 35: Co = 45 'ムセ
>     Case 38 To 40: Cou = 37: Co = 46 '排泄
>     Case 41 To 42: Cou = 40: Co = 47 '睡眠
>     Case 43 To 44: Cou = 42: Co = 48 '眠剤
>     Case 45 To 46: Cou = 44: Co = 49 'じょくそう
>     Case 36 To 37: Cou = 35: Co = 50 'エアマット
>     Case 49 To 50: Cou = 48: Co = 51 'アレルギー
>     Case 51 To 52: Cou = 50: Co = 52 '問題行動
>  End Select
>  If Me.OLEObjects("OptionButton" & i).Object = True Then
>    Worksheets(MyS).Cells(Co, 59).Value = i - Cou
>  End If
>Next i

【39584】Re:オプションボタンに制限はあるの?
お礼  taka  - 06/6/27(火) 8:46 -

引用なし
パスワード
   ▼taka さん:
>▼taka さん:
>>▼Statis さん:
>>>こんにちは。
>>>
>>>お聞きします。
>>>1:オプシンボタンの優先順位はどうなりますか?
>>>
>>>>Me.OLEObjects("OptionButton" & .Range("BG31").Value).Object.Value = True
>>>2:上記で「True」になればそれ以降のコードは処理する必要は無いですよね?
>>>
>>>3:各セルの値によってはループ処理できるかも??
>>>
>>>
>>>1〜3の質問にお答えください。
>>
>>優先順位はありません。
>>例えばオプションボタン3つで1グループ2つで1グループとなっていて、シート上のフォームのオプションボタンに反映させています。下記コードの様に、それを逆に呼び出す作業です。
>>
>>For i = 1 To 37
>>  Select Case i
>>     Case 1 To 5: Cou = 0: Co = 31  '介護度
>>     Case 6 To 7: Cou = 5: Co = 32  '他科受診
>>     Case 8 To 9: Cou = 7: Co = 33  '四肢障害
>>     Case 10 To 11: Cou = 9: Co = 34 '視力
>>     Case 12 To 13: Cou = 11: Co = 35 '眼鏡
>>     Case 14 To 15: Cou = 13: Co = 36 '聴力
>>     Case 16 To 17: Cou = 15: Co = 37 '補聴器
>>     Case 18 To 19: Cou = 17: Co = 38 '義歯
>>     Case 20 To 22: Cou = 19: Co = 39 '意思疎通
>>     Case 23 To 24: Cou = 22: Co = 40 '言語障害
>>     Case 25 To 27: Cou = 24: Co = 41 '移動
>>     Case 28 To 30: Cou = 27: Co = 42 '更衣
>>     Case 31 To 33: Cou = 30: Co = 43 '食事
>>     Case 34 To 35: Cou = 33: Co = 44 '胃ろう
>>     Case 36 To 37: Cou = 35: Co = 45 'ムセ
>>     Case 38 To 40: Cou = 37: Co = 46 '排泄
>>     Case 41 To 42: Cou = 40: Co = 47 '睡眠
>>     Case 43 To 44: Cou = 42: Co = 48 '眠剤
>>     Case 45 To 46: Cou = 44: Co = 49 'じょくそう
>>     Case 36 To 37: Cou = 35: Co = 50 'エアマット
>>     Case 49 To 50: Cou = 48: Co = 51 'アレルギー
>>     Case 51 To 52: Cou = 50: Co = 52 '問題行動
>>  End Select
>>  If Me.OLEObjects("OptionButton" & i).Object = True Then
>>    Worksheets(MyS).Cells(Co, 59).Value = i - Cou
>>  End If
>>Next

わかりました。ボタンが52個あるのにFor i = 1 To 37となっていました。
大変すみませんでした。

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