• ベストアンサー

VBAチェックボックスについて教えて下さい。

EXCELのActiveXのチェックボックスを使用して、下記のようなことができるのか。 また、できるのであれば、方法を教えていただければと思います。 他の方法でこちらのほうが最適などあれば、教えていただければと思います。 表の入力をする際 添付のようにチェックボックスにチェックを入れるとabdfの項目の下に◯が入力されるということをしたいです。 直接入力することが有りますので、関数を入れることが出来ません。 ご回答の程よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2015
  • ベストアンサー率49% (258/524)
回答No.3

質問の意味を勘違いしていたようです。 1行目が空白でない列に○を入れるということですね? 以下のサンプルはA~F列の1行目が空白で無い場合、2行目に○を入れています。 チェックを外した場合は入れた○を消します。 Private Sub CheckBox1_Click()   sData = ""   If CheckBox1 = True Then sData = "○"   For i = 1 To 6     If Cells(1, i) <> "" Then       Cells(2, i) = sData     End If   Next i End Sub

bawbe
質問者

お礼

ありがとうございます。 うまくいきました!!

その他の回答 (2)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.2

> つまりチェックボックにチェックを入れるとa~fの中で空欄じゃない箇所に > ◯が入力され、空欄の箇所は◯が入力されないvbaが組めればと思います。 では、こんな感じでしょうか? チェックボックスをクリックすると、A1:F1の空白以外の値を○に置換します。 チェックを外しても○は消えません。 #この用途ならチェックボックスではなく、ボタンの方が良いと思います。 Private Sub CheckBox1_Click()   Range("A1:F1").Replace What:="*", Replacement:="○" End Sub

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.1

こんな感じでしょうか Private Sub CheckBox1_Click()   sData = ""   If CheckBox1 = True Then     sData = "○"   End If   Range("A1") = sData   Range("B1") = sData   Range("D1") = sData   Range("F1") = sData End Sub

bawbe
質問者

補足

ご回答ありがとうございます。 説明不足でした。 a~fの項目があり、その項目が空欄だったり空欄ではなかったりします。 添付に関してはcとeが空欄になっているので◯がない状況になっています。 つまりチェックボックにチェックを入れるとa~fの中で空欄じゃない箇所に ◯が入力され、空欄の箇所は◯が入力されないvbaが組めればと思います。 説明不足で申し訳ございませんが、よろしくお願い致します。

関連するQ&A