Excel VBA質問箱 IV

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

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


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

【50070】チェックボックスの値をFor文を用いて取得したい VBA_edu 07/7/7(土) 13:53 質問[未読]
【50072】Re:チェックボックスの値をFor文を用いて取... ichinose 07/7/7(土) 18:59 発言[未読]
【50076】Re:チェックボックスの値をFor文を用いて取... VBA_edu 07/7/8(日) 0:22 お礼[未読]

【50070】チェックボックスの値をFor文を用いて取...
質問  VBA_edu  - 07/7/7(土) 13:53 -

引用なし
パスワード
   チェックボックスの「Value」の値を取得する為のマクロを作成しています.
一般的には,『チェックボックス名.Value』と個々に定義しますが,
For文を用いて取得したいと思っています.

そこで、以下のようなソースを考えました.
-----
For i = 1 To 5
  strName = "Chkbox" & i
  ar_chk(i) = Selection.ShapeRange(strName).Value
Next
-----

しかしながら,構文エラーになってしまいました.
『Selection.ShapeRange(strName).Select』で対象のチェックボックスは選択できたので,
『Selection.ShapeRange(strName).Value』も大丈夫かと思い実行したのですが駄目でした.

何か良い方法はありますか?
教えて下さい.宜しくお願いします.

【50072】Re:チェックボックスの値をFor文を用いて...
発言  ichinose  - 07/7/7(土) 18:59 -

引用なし
パスワード
   ▼VBA_edu さん:
こんばんは。

>チェックボックスの「Value」の値を取得する為のマクロを作成しています.
>一般的には,『チェックボックス名.Value』と個々に定義しますが,
たぶん、コマンドバ−「コントロールツールボックス」のチェックボックス
の事だと思いますが、シートに貼り付け可能なコントロールには
コマンドバー「フォーム」のものと「コントロールツールボックス」のものと
あるので、きちんと明記してください。

Sub main()
  Dim g0 As Long
  With ActiveSheet
    For g0 = 1 To 5
     MsgBox .OLEObjects("checkbox" & g0).Object.Value
     '           ↑命名したオブジェクト名
     Next
    End With
End Sub

【50076】Re:チェックボックスの値をFor文を用いて...
お礼  VBA_edu  - 07/7/8(日) 0:22 -

引用なし
パスワード
   ▼ichinose さん:
回答及びご指摘ありがとうございます.

>たぶん、コマンドバ−「コントロールツールボックス」のチェックボックス
>の事だと思いますが、シートに貼り付け可能なコントロールには
>コマンドバー「フォーム」のものと「コントロールツールボックス」のものと
>あるので、きちんと明記してください。
>
ご指摘の通り,「コントロールツールボックス」に対するチェックボックスのことです.


教えて頂いたソースを実行してみました.
意図した通りの結果を得ることができました.

本当にありがとうございました.
今後,また何かありましたら宜しくお願いします.

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