• ベストアンサー

エクセルでクリックひとつでチェックをいれたいのですが

チェックマークをマウスクリックでいれたいのですがどうすればいいのでしょうか 別に○とかでもいいのですが いちいち変換していれるがめんどうなもので・・・ 例 月 火 水 木 ○   ○   ○

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

  • ベストアンサー
  • at121
  • ベストアンサー率41% (85/206)
回答No.5

#3 補足分 「月で試して・・Like "[4月・・3月]" Then Exit Sub の Like の [ ] の使い方が難しいようです。 この行は 選択セルの列の○入力をするか見出しに応じて動的に判定するだけなので If Not Trim(Cells(見出しの行, Target.Column).Value) Like "*月" Then Exit Sub    列の見出しが X月、XX月、でなければ中止(注意:ほかの列の見出しにXXXXX月があると誤動作・・) でも 列が固定なら If Target.Column>5 or 12< Target.Column Then Exit Sub でもよいでしょう。

bonbontarou
質問者

お礼

ありがとうございました。VBA言語素人なもので、 If Not Trim(Cells(見出しの行, Target.Column).Value) Like "*月" Then Exit Sub のやり方でします。助かりました。

その他の回答 (5)

回答No.6

#4の補足です。 セル連動のTRUE、FALSEを数えるには COUNTIF関数を使います。 =COUNTIF(選択範囲,TRUE)みたいな感じで選択範囲内のTRUE(チェックした数)の合計を得ることができます。 TRUEの変わりにFALSEにすればチェックしていない数です。

bonbontarou
質問者

お礼

有難うございました。関数はほとんどSumとIfしか使わないもので、色々あるみたいですね

回答No.4

すこし別のアプローチで。。。 まとめて○を入力したいのであれば、入力予定のセルをctrlキーを押しながら選択してから「○」を入力してctrlキーを押しながらEnterキーを押すとまとめて入力されます。 参考URL:http://www.microsoft.com/japan/users/tips/Excel/121.aspx あと、仕掛けをつくるのが面倒ですが、Excelのフォーム(VBA用ではない方)に、チェックボックスというそのものズバリなオブジェクトがありますのでコレだったらマウスでチェックつけられます。(セル連動で集計も可能!) 覚えておくと、いつか役に立つかも。。。

bonbontarou
質問者

補足

フォームのチェック使ってみました。 セル連動ということで少し使いづらいですが。  こちらの方法でチェックマーク付けたところのみ、集計結果をだせればいいのですが、例えば関数は何を使えばよろしいでしょうか。セル連動にしますとTRUEもしくはFALSEとなってしまう為COUNTA関数は使えませんよね。お願いします。

  • at121
  • ベストアンサー率41% (85/206)
回答No.3

マクロ 動作 曜日の見出しの行( 例では 2行目)が 日月火水木金土 の列のセルを選択すると ○⇔""空白 反転 ツール マクロ VBエディタ  (表示>プロジェクトエクスプローラ)   入力する Worksheetの モジュール表示にして ↓貼り付け↓ Private Sub Worksheet_SelectionChange(ByVal Target As Range) 見出しの行 = 2 '曜日の見出しの行 If Not Trim(Cells(見出しの行, Target.Column).Value) Like "[日月火水木金土]" Then Exit Sub If Target.Row <= 見出しの行 Then Exit Sub Application.EnableEvents = False For Each セル In Target If Trim(セル.Value) = "" Then セル.Value = "○" Else セル.Value = "" End If Next Cells(2, Target.Column).Select Application.EnableEvents = True End Sub

bonbontarou
質問者

お礼

返答有難うございます。 マクロは使ったことなかったのですが、試してみた所このやり方は凄く便利ですね。 覚えておきます。有難うございました。

bonbontarou
質問者

補足

今、月で試しているのですが If Not Trim(Cells(見出しの行, Target.Column).Value) Like "[4月5月6月7月8月9月10月11月12月1月2月3月]" Then Exit Sub でやるとうまくいきません。[]の中を4567891011121123とすれば10と11と12のところがうまく認識してくれません。教授願えませんでしょうか。

noname#176215
noname#176215
回答No.2

変換するのが面倒なら 入力するセルの表示形式を [=1]"○";;; としておけば「1」と入れた時に「○」が表示されるよう になります。集計も取りやすいので 便利だと思いますよ。

bonbontarou
質問者

補足

返答有難うございます。 [=1]"○";;;をセルに入力するのでしょうか? 試したところうまくいきません・

回答No.1

「○」で、コピー&貼り付け ではダメなのでしょうか? すばやくコピー&貼り付けをするには、 コピー 「Ctrl+C」 貼り付け「Ctrl+V」 を活用します。

bonbontarou
質問者

お礼

返答有難うございます。 一般的なやりかたですね。 このやり方を使っているのですがどうも・・

関連するQ&A

専門家に質問してみよう