• ベストアンサー

ボタンを押したら値に+1したいです。

こんにちは。 すいませんが、教えてください。 エクセルのシートにボタンをつけて そのボタンを押したらA1のセルの例えば2 という値に+1したいです。 自分でもやってみたのですが、 Private Sub ボタン1_Click() A1 = A1 + 1 End Sub しか思いつきませんでした。 どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 以下のようにします。 Private Sub ボタン1_Click()   If IsNumeric(Range("A1").Value) Then     Range("A1").Value = Range("A1").Value + 1   End If End Sub

jabao
質問者

お礼

お返事遅くなりましてごめんなさい。 早速やってみました。 問題なく私がおもったとうりの動作をしてくれました。 もっと勉強して、早くコレくらいの文は書けるように なりたいです。 ありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

ボタンを貼りつけなくても Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = Range("A1").Address Then ans = MsgBox("A1に+1します", vbOK) If ans = vbOK Then Range("A1") = Range("A1") + 1 End If End If End Sub などどうですか。

jabao
質問者

お礼

セルを移動して戻ってきたらメッセージボックスが 出てきました。 おもしろいですね。 こういうこともできるんですね。 とても参考になりました。 ありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

特定のセルなら Range("A1").Value = Range("A1").Value + 1 現在選択しているセルなら ActiveCell.Value = ActiveCell.Value + 1 のようにすれば可能です。

jabao
質問者

お礼

ご返答ありがとうございました。 両方やってみましたが、両方ともしっかり動きました。 ありがとうございました。

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.2

ただ「A1」と記述するのではなく、どのシートのどのセルを選択し、どのセルに処理をするかを記述すればOKです。 例えば、 Range("A1").Select IF ActiveCell = 0 Then ActiveCell = 1 ActiveCell = Activecell + 1 とか・・・

jabao
質問者

お礼

ご返答ありがとうございました。 こちらの方法も私の希望どうりの 動作をしました。 ありがとうございました。

関連するQ&A