EXCEL2010 VBAのチェックマーク作成方法
いつもお世話になります。
エクセルでチェックマークをつける際に、フォームコントロールやActiveXコントロールのチェックボックスを利用していました。
しかし、このたび、すべての色を青色でつくらなくてはいけなくなりました。
フォームコントロールのチェックボックスでは、文字も枠もチェックマークも黒色しかできません。
ActiveXコントロールのチェックボックスでは、文字の色こそ変えることができましたが、枠とチェックマークの色を変えることはできませんでした。
そこで、チェックマークさえできてしまえば、枠は図形で、文字はテキストボックス、もしくはセル内に入力というやり方ができるのでいろいろと探してみました。
結果、以下のサイトを発見し、試してみました。
http://okwave.jp/qa/q5678741.html
一部抜粋
----------------------------------------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:A10")) Is Nothing = False Then
Cancel = True
If Target.Value = ChrW(10003) Then
Target.ClearContents
Else
Target.Value = ChrW(10003)
End If
End If
End Sub
----------------------------------------------------------------------------------
上記でチェックマークの色の変更と、ONとOFFができるようになったのですが、EXCELデータ作成の都合上、どうしてもセルの結合内にチェックマークをつくらなければなりません。
上記では、セルが結合されていなければうまくいくのですが、セルが結合されていると下記のエラーが出てしまいます。
-------------------
実行時エラー '13':
型が一致しません。
-------------------
そこで、セルの結合をメインにgoogleで調べたところ以下のサイトを発見しました。
http://okwave.jp/qa/q3155117.html
以下の内容を踏まえて、下記のように変更してみました
----------------------------------------------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:A10")) Is Nothing = False Then
Cancel = True
If Target.Text = ChrW(10003) Then
Target.ClearContents
Else
Target = ChrW(10003)
End If
End If
End Sub
--------------------------------------------------------------------------------------
結果、セルが結合されていてもチェックマークをつけることはできました。
けれど、チェックマークがついたセルを、もう一度ダブルクリックしてもチェックマークが外れてくれません。
結合されていないセルでは、チェックマークをつけたりはずしたりができます。
そこで、もう一度googleでいろいろと調べてみたのですが、どうしても解決できませんでした。
現段階では、チェックマークのONはできるけど、OFFにはできないという一方通行の状態なので
結合セル内でもチェックマークをOFFにできるようにしたいです。
皆さまに教えていただけますと幸いです。
どうか、よろしく願いいたします。
お礼
すぐのお返事ありがとうございました。 これを元にいろいろ作成してみます。