タイトル : 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)の方であれば、あらかじめ、チェックボックスをセルにリンクさせておき、 そのセルの値から読み取るという手法もあります。 |