アプリ版:「スタンプのみでお礼する」機能のリリースについて

この度、在ることでユーザー関数の勉強をしています。
見よう見まねで作ってみたら一応動いたのですが、
どうも自動計算されないみたいなので質問させて頂きました。

やりたい内容は簡単で、
AとBのセルを加えた結果をCのセルに表示するというだけです。
やりたいことは簡単なので、
excel上でも「=a+B」で簡単です。
これを前述の「ユーザー関数」を使ってやってみたということです。

ユーザー関数の内容ですが、
①マクロ部分をsubではなく、functionで書きました。
②そのfunction名をセルCに「=sample99()」の如くに入力しました。
③これで問題無く答が表示されました。

Function sample99() As Variant
Dim ans8 As Long
ans8 = Range("B7").Value + Range("C7").Value
sample99 = ans8
End Function

ここからが質問です。
この状態でセルA、Bを変更してみたのですが、
結果が変わらないのです。
そこで、セルCをクリックするとチャンと正しくなりました。

これが仕様なのか、それとも私の誤りなのかを教えて頂きたいのです。
宜しくお願いします。

A 回答 (1件)

仕様です。


自動計算を強制的に行わせたい場合は、
Application.Volatile を使用します。
Volatile については。下記URLを参照
https://learn.microsoft.com/ja-jp/office/vba/api …
以下のように使います。

--------------------------------------------
Function sample99() As Variant
Application.Volatile
Dim ans8 As Long
ans8 = Range("B7").Value + Range("C7").Value
sample99 = ans8
End Function
    • good
    • 0
この回答へのお礼

早速ありがとうございました。
了解です。
ズバリみたいですね。
早速やってみます。
お世話になりました、

お礼日時:2023/02/06 07:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!