[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザー定義関数 色が変わったときの再計算』(usamiyu)Excel2003 Vista
いつもみなさまに大変お世話になっております。また、ご指導していただけますか。
VBAの練習のため、次のようなUDFを書いてみました。 単純に赤色の数値を合計するというものですが、これをワークシートに記述した後、 色が変わった場合、このコードでは自動で再計算しません。これを回避するには、 どうしたらよいでしょうか。 本日、似たテーマを次のトピックで読んだのですが、書式のみが変わった場合、 の対応方法をご教示ください。どうぞよろしくおねがいいたします。
[[20130312054215]] 『セルに色がついているセルの数値を数えたい』
Function RedTotal(r As Range) As Long Dim t As Long, iro As Long Dim c As Range
t = 0 For Each c In r iro = c.Font.Color If iro = vbRed Then If IsNumeric(c) Then t = t + c.Value End If End If Next
RedTotal = t
End Function
Function RedTotal(r As Range) As Long Dim t As Long, iro As Long Dim c As Range Application.Volatile'追加 t = 0 For Each c In r iro = c.Font.Color If iro = vbRed Then If IsNumeric(c) Then t = t + c.Value End If End If Next RedTotal = t End Function 上記のようにして随時F9キー。 もしくは出来るだけ自動化するならThisWorkBookモジュールに下記 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.Calculate End Sub 選択セルが変わった時に再計算。 (みやほりん)
みやほりんさん、こんにちは。お忙しいところ、ご回答ありがとうございます。
なるほど、changeイベントで一度計算をさせ、それによって、volatileで自動再計算させるんですね。 どうも頭が固かったようで、セルの色だけ変えて、じっとしていて、changeイベントじゃだめなのかなぁ とか思っていました・・ ^^; 組み合わせて使ってみます。
(usamiyu)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.