• ベストアンサー

Excelのカウントアップボタンについて

エクセルで統計を取ろうと思い、クリックすると数字が増えるカウントアップボタンをD~K列それぞれ50セル、合計400セルに取り付けようと思うのですが、 自分の調べた方法ですととても面倒な作業になってしまうので、 もし簡略化できる方がいらっしゃいましたら教えて頂けませんでしょうか。 自分の調べた方法 Sub ボタンD4_Click() Range("D4") = Range("D4") + 1 End Sub 上記のようなマクロを400個作り、それぞれのボタンに当てはめていく。 ボタンはそれぞれ数値の増やしたいセル上に配置しています。 オートフィルで簡単に増やせれば理想です。宜しくお願いします。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんばんは。 Application.Caller と TopLeftCell を組み合わせれば、プロシージャは ひとつで済みそうですよ。 簡単なサンプルです。 ボタンは、カウントアップするセル内に配置し、その他のセルにまたがら ないようにします。あとは、マクロの割り当てをし、フィルでコピー。 ' // 標準モジュール Sub CountUp()   Dim r As Range      On Error Resume Next   Set r = ActiveSheet.Shapes(Application.Caller).TopLeftCell   On Error GoTo 0      If Not r Is Nothing Then     r.Value = r.Value + 1   End If      Set r = Nothing End Sub

aloe_bear
質問者

お礼

完璧です!理想通りです!! 本当にありがとうございました。 こういうのは本で学ぶのでしょうか・・・?

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

ボタンによる方法はすでに回答がでていますので、ボタンを使わないやり方を・・・・。 加算したいセルをダブルクリックすればカウントアップします。 仮にD1:K50が対象範囲なら、当該シートのシートモジュール(シートタブを右クリックしてコードの表示で出てきます。)に Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("D1:K50")) Is Nothing Then Exit Sub Target.Value = Target.Value + 1 Cancel = True End Sub としてみてください。

aloe_bear
質問者

お礼

ありがとうございます!! こんな事も可能なのですね! これは今まで作ったブックに使えそうです!

関連するQ&A

専門家に質問してみよう