Excel VBA質問箱 IV

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

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


10383 / 13644 ツリー ←次へ | 前へ→

【22174】シート上に配置したコントロール名を変数で扱う方法 take 05/2/10(木) 15:04 質問[未読]
【22178】Re:シート上に配置したコントロール名を変... ぴかる 05/2/10(木) 15:53 回答[未読]
【22181】Re:シート上に配置したコントロール名を変... Jaka 05/2/10(木) 16:19 回答[未読]
【22183】Re:シート上に配置したコントロール名を変... take 05/2/10(木) 16:30 お礼[未読]
【22184】Re:シート上に配置したコントロール名を変... ぴかる 05/2/10(木) 16:30 発言[未読]

【22174】シート上に配置したコントロール名を変数...
質問  take  - 05/2/10(木) 15:04 -

引用なし
パスワード
   シート上に配置したコントロール名を変数で扱う方法はありませんか?

現在シート上にチェックボックスを並べてチェックが入っていたら
処理をするマクロを作っていまして、仮にフォーム上に配置した場合
Check1,Check2,Check3というコントロール名だと

for i = 1 to 3
  if controls("Check" & i).value = 1 then
    処理内容
  endif
next

といった感じでできると思うのですが
ワークシート上に配置されたチェックボックスについて
worksheets("sheet1").controls("Check" & i).value = 1
というような記述だとサポートされていないというメッセージが出ます。

いい方法はありませんでしょうか?
よろしくお願いします。

【22178】Re:シート上に配置したコントロール名を...
回答  ぴかる  - 05/2/10(木) 15:53 -

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

コントロールツールボックスではなくフォームのチェックボックスを設置して、リンクしているセル値にて処理を行ってみてはどうですか?

【22181】Re:シート上に配置したコントロール名を...
回答  Jaka  - 05/2/10(木) 16:19 -

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

ぴかるさん、失礼します。

For i = 1 To 3
  Worksheets(1).OLEObjects("CheckBox" & i).Object.Value = True
Next

【22183】Re:シート上に配置したコントロール名を...
お礼  take  - 05/2/10(木) 16:30 -

引用なし
パスワード
   ▼ぴかるさん:
ご返答ありがとうございます。
チェックの量が多くフォーム上だと処理をするごとにチェックのオンオフを
しなくてはいけなくなるのでシート上のチェックを使いたかったのです。

▼Jaka さん:
OLEObjectsについて調べていたところJakaの書き込みがあり驚いています。
これで解決できました有難うございました。

【22184】Re:シート上に配置したコントロール名を...
発言  ぴかる  - 05/2/10(木) 16:30 -

引用なし
パスワード
   >For i = 1 To 3
>  Worksheets(1).OLEObjects("CheckBox" & i).Object.Value = True
>Next
さすがJakaさん、あたくしのは軽く流して下さい。シート上のコントロールって殆ど使わ
ないもので・・・。言い訳です・・・。失礼しました・・・。

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