dポイントプレゼントキャンペーン実施中!

エクセルシートにチェックボックスを設定はできたのですが。。。
マウス(手動)でチェックを入れるのではなく、セルに入力すると自動でチェックが入る数式というのはあるのでしょうか?
分かりにくい説明ですいません。
画像を添付しております。囲みのところに日付を入力するとチェックが自動で入るようにしたいと思います。
よろしくお願い致します。

「エクセルチェックボックスについて教えてく」の質問画像

A 回答 (3件)

下記URLのページをご覧になってお試し下さい。



「Excel関数逆引き大全620の極意: - 507 ページ - Google ブック」
https://books.google.co.jp/books?id=3tdRITG-r30C …


ご希望の回答ではありませんが、ご参考までに関数で作ってみました。
(添付図)
「エクセルチェックボックスについて教えてく」の回答画像2
    • good
    • 0

こんばんは。



>セルに入力すると自動でチェックが入る数式というのはあるのでしょうか?
それは、Excel 2003時代までは、そういう種類の特殊な関数を作っていた人がいます。しかし、私は、ある程度のCOMアドインを勉強しましたが、そこまでは行きませんでした。
ただ、作り方を教わっても、一般的にはVB系のコンパイラーがないし、インストールなどしていないので、数式の設定までは、結構手間がかかります。

以下はその代用品です。
イベント・ドリブン型マクロといいます。

取り付け方は、
シートタブを右クリックして、コードの表示を選択します。
後は、このようにコードを貼り付けてください。
修正部分の下の行の範囲の部分を適当に変更してください。
以下は、日付がなくなると、チェックも消えるようになります。
複数の貼り付けの場合でも、対応できるようにしました。
なお、チェックボックスは、図の見た目の判断から、フォーム・コントロールのものといたしました。

'//
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim i As Long
 Dim chk As CheckBox
 Dim c As Range
 For Each c In Target
  '修正部分:入力が可能な場所は、日付値が、A1~D20 までの範囲です。
  If Not Intersect(c, Range("A1:D20")) Is Nothing Then
   For Each chk In Me.CheckBoxes
    If Not Intersect(chk.TopLeftCell, c.Offset(, 1)) Is Nothing Then
     If IsDate(c.Text) Then
      chk.Value = xlOn
     Else
      chk.Value = xlOff
     End If
    End If
   Next chk
  End If
 Next c
End Sub
'///
    • good
    • 0

チェックボックスのリンク先のセルに数式を入れられただろうか・・・。


たしかマクロで数値を書き換えなければならなかったと記憶している。

チェックボックスのプロパティにリンク先のセルを指定する箇所がある。
そこにはリンクしているチェックボックスにチェックが付くと”1”が入る。
逆に”1”が書き込まれるとチェックが入る。

条件を付けてセルの値を変えるには数式を設定して行うが、チェックボックスにチェックを入れられると数式が”1”(値)に書き換えられてしまうはずだ。
するとマクロで書き換える手段をとるしかない。

今手元にマクロを組んで確認する環境が無いため他の人の回答を頼ってください。
(動かないマクロでは意味が無いでしょう)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!