質問掲示板
岡三RSS
集いの広場

アップロードされたファイルおよび投稿内容についての注意事項 別窓

複数の単語で検索する方法 別窓

【国内株式、先物・オプション】岡三RSS質問箱

RSSユーザー

エクセルのセルの値の更新回数カウント方法

お世話になっております。以上のマクロ(eventではなくcaluculateで)教えください。a1:a10までをb1:b10まで反映する

2020年07月24日

RSSユーザー

すみません。event→changeの間違えです

2020年07月24日

ログインしてコメントを投稿する

RSSユーザー

すみません。参照してもらうプログラム文をコピーするとエラーが出てしまいます。

2020年07月24日

ログインしてコメントを投稿する

RSSユーザー

ベストアンサーに選ばれた回答
プロフィール画像

him********さん 2015/1/2710:38:58
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) <> "A1" Then Exit Sub
Range("B1") = Range("B1") + 1
End Sub

①コード全体をコピー。
②該当シートの見出しを右クリック。
③ショートカットメニューから「コードの表示」選択。
④真っ白で空白なコードウインドウの場所に貼り付け。
⑤右上の「×」でVBE画面を閉じる。
⑥シート上で操作してみてください!

2020年07月24日

ログインしてコメントを投稿する

RSSユーザー

すみません。以上が参照していただく文です。

2020年07月24日

ログインしてコメントを投稿する

大野 了

加算.xlsx (15.7KB)

こんにちは!!

Changeイベントでではなくて、Caluculateイベントと言う事ですねー
Caluculateイベントだと、だいぶ複雑になってしまいますが、
以下の通りです!!

ソースへの組み込みはRSSユーザさんからご提示頂いた
①コード全体をコピー。
②該当シートの見出しを右クリック。
・・・・・
と同じ流れで大丈夫でーす。

一応、作ったサンプルファイルをアップロードします。
Download後、拡張子をxlsmに変更すると動きます。

========================
Option Explicit
Private PreData(9) As String '←ここは、A1~A10の個数 -1 を入れてください。

Private Sub Worksheet_Calculate()
Dim TargetRange As Range
Dim Index As Integer
Dim CntCell As Range


Index = 0

'データ退避
For Each TargetRange In Range("A1:A10")
'現在値と前回の値との比較
If PreData(Index) <> TargetRange.Value Then
Set CntCell = Cells(TargetRange.Cells.Row, TargetRange.Cells.Column + 1)

'加算
CntCell = CntCell + 1

'現在のデータ退避
PreData(Index) = TargetRange.Value
End If

Index = Index + 1
Next TargetRange

End Sub
========================
※掲示板でエラーになるため『=』を全角にしてあります

また、ご提示頂きましたChangeイベントのソースですが
自分の方では問題なく動きましたので、大丈夫だと思います。
どの様なエラーが発生しますでしょうかー?

また、ご不明な点がありましたら返信いただけますと幸いです!!

2020年07月24日

ログインしてコメントを投稿する

RSSユーザー

すみません、ChangeイベントだとQUOTE関数の株価の式が入ったセル値の更新回数カウントとか表示しないと思われるからです(今日は閉場日なので信号がなく検証できませんが)

2020年07月24日

ログインしてコメントを投稿する

大野 了

なるほど!!

RSSユーザさんのおっしゃられます通り、
A1~A10セルが岡三RSSの出力セルですと、値が入ってもChangeイベントが発生しません!!

Calculateイベントだと大丈夫です。
上手く行くことを祈ります!!

2020年07月24日

ログインしてコメントを投稿する

RSSユーザー

範囲をA1:A20にする場合、

「Private PreData(19) As String '←ここは、A1~A20の個数 -1 を入れてください。

'データ退避
For Each TargetRange In Range("A1:A20") 」

にすればよいですね。

本当にありがとうございました。

2020年07月24日

ログインしてコメントを投稿する

大野 了

はい!!

RSSユーザさんのおっしゃられます通りとなりまーす。

これでうまく行くことを祈ります!!

2020年07月24日

ログインしてコメントを投稿する

すべての投稿を表示する

to_top
to_top

アップロードされたファイルにはウイルスチェックを行っておりますが、未知のウイルス等に感染されている場合がありますので、アップロードされたファイルのご利用はご注意ください。
また、取引パスワード等の重要な情報を投稿内容に含めないようご注意ください。
なお、アップロードされたファイルの利用や投稿内容によって、投稿者自身や他の利用者が被った損害に対して当社は一切責任を負いません。

また、セキュリティの関係上、一部コマンド等を含む内容を送信するとエラー画面が表示され、投稿ができない場合がございます。何卒ご了承ください。

岡三RSS集いの広場では、複数の単語による検索が可能です。

例)関数 and サンプル
→AND検索となり、「関数」および「サンプル」を含む検索結果が表示されます。

例)関数 or サンプル
→OR検索となり、「関数」または「サンプル」を含む検索結果が表示されます。

例)関数 not サンプル
→NOT検索となり、「関数」を含むが「サンプル」は含まない検索結果が表示されます。

※and、or、notの前後は半角スペースで区切ってください。
※単語の間を半角スペースで区切るだけだと、OR検索となります。