先だっては、私の説明不足のために、申し訳ありませんでした。 自分で改めて見て、以下のようなことだったのです。 Range("C13") = Range("C13") + 1

補足

今回もご指導賜りまして、まことにありがとうございました。 驚きの連続で、このように多様な組み方ができるのだなと、、皆様の造詣の深さに改めて驚きを隠せません。  今回のベストアンサーを選ばさせていただきましたが、今後とも変わらずご指導いただきたお願い申し上げます。

Visual Basic | Excel173閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

1

1人がナイス!しています

私事にて返信が遅れたことをお許しください。 え、、、という驚きです。 確かに動きました、、 IIf(Range("C13").Value = "", 0, Range("C13").Value + 1) で、こんな関数が存在していることもしらなければ、workSheetFunction以外で関数が使えることもしらず、、、 今後ともご教授いただければ幸いに存じ上げます。

ThanksImg質問者からのお礼コメント

驚きました、、シンプルにこれで動きました。。 こういう使い方ができるように努力してみたいと改めて思いました。 ありがとうございました。

お礼日時:10/25 17:23

その他の回答(3件)

1

理解出来ていない可能性が大いにありますが。。。 クリックしてカウントなのかなと理解しました。 要するに1クリックに1カウントみたいな感じかな。 ※値を保持するなら静的変数のStaticステートメント ※静的変数の値をクリアするにはEndステートメント 参考になれば嬉しいです。 ではでは。 以下マクロ Sub Sample01() Static i As Long Range("A1") = 0 Range("A1") = i i = i + 1 If i > 5 Then 'iが5より大きくなったら初期化 End End If End Sub

1人がナイス!しています

私事にて返信が遅れましたこと、大変もうしわけございません。 こういう、変数の宣言ができるとは、、、知りませんでした。 今後ともご指導いただければ幸いに存じ上げます。

1

こんな感じでしょうか? Sub マクロ1() Dim i For i = 0 To 100 Range("C13").Value = i Application.Wait [Now()+"00:00:00.1"] Next Range("C13").Value = 0 End Sub Sub macro() Static i As Long Range("C13").Value = i i = i + 1 If i < 10 Then Application.OnTime Now() + TimeValue("00:00:01"), "macro" Else Range("C13").Value = 0 i = 0 End If End Sub

1人がナイス!しています

私ごとにて返信遅れましたこと大変もうしわけございませんでした。 目をむいております。 上級者になると時間も使えるようになるのかと、、 確かに今後、タイマー的にカウンターを走らせないといけないシーケンスも出ていりますので、ぜひ参考にさせて頂きたいことはもちろんのことですが、今後ご指導を賜ることができれば幸いに存じ上げます。

1

こんにちは。 0からカウントしてほしい、というのですから、 カウント前を表示するのか、カウント後を表示するか、 がポイントです カウント後に、0になってほしいなら、-1から始めるとかで、いいんですか? 今のコードが不明なので、よく確認してください

1人がナイス!しています

ご回答くださりありがとうございます。 カウンターボタンを作っていて、それを押すと、カウンターになって、 Range("C13") = Range("C13") + 1 としています。 これだと、1から始まるので、これを0からカウントしていくようにしたいということなのです、 ですので、カウント後になるのかと思います 。