tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: VBAなんですが
投稿日: 2009/11/09(Mon) 10:44
投稿者魔界の仮面弁士
> エクセルのシート上にコントロールボックスからチェックボックスを作りました。

どのチェックボックスでしょうか?
http://www.vb-user.net/junk/replySamples/2009.11.09.10.51/Excel97.png
http://www.vb-user.net/junk/replySamples/2009.11.09.10.51/Excel2007.png


チェックボックスの種類にもよりますが、たとえば Excel.CheckBox なら、

 Dim c As Excel.CheckBox
 For Each c In Sheet1.CheckBoxes
  If c.Value = xlOn Then
   MsgBox c.Name & " - Checked"
  Else
   MsgBox c.Name & " - Unchecked"
  End If
 Next

とかけますし、MSForms.Checkbox なら

 Dim o As Excel.OLEObject
 For Each o In Sheet1.OLEObjects
  If TypeOf o.Object Is MSForms.CheckBox Then
   If o.Object.Value = True Then
    MsgBox o.Name & " - Checked"
   Else
    MsgBox o.Name & " - Unchecked"
   End If
  End If
 Next

と書けます。
いずれも For Each〜Next の代わりに、For〜Next で制御する事も出来ます。


また後者(MSForms.CheckBox)であれば、コントロール名から CallByName で探す方法もありますし、
前者(Excel.CheckBox)の方であれば、あらかじめ、チェックボックスをセルにリンクさせておき、
そのセルの値から読み取るという手法もあります。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。