こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2003でCountIFonDispを保存する方法

以前、こちらの質問で拝見した下記設定をエクセル2003で行いましたが、
1度ファイルを閉じて再度あけたときに再計算が不可でした。
調べましたところExcel2007だと保存の際に「バイナリ保存」を指定すると、再度ファイルを開けた際に下記設定内容が有効になるようですが・・2003にはそのような機能はないのでしょうか。初歩的な質問で恐縮ですが、周りにも分かる人がいないためご教授のほどお願い致します。
*****************************************************************
ワークシート画面でALT+F11 を押す
VBE画面になるので、
メニューの挿入から標準モジュールを選ぶ
標準モジュールでのコード入力画面で下記をコピペ
&ウィンドウの×ボタンを押してVBE画面を閉じる
ワークシート画面で適当なセルで
=COUNTIFonDISP(セル範囲, 条件)を設定
→ファイルを閉じるまでは数式が使用できますが1度閉じると
再計算不可になります。
-----------------------------------------------------
Public Function CountIFonDisp(r As Range, cond As String) As Long
Dim count As Long
Dim x As Range
For Each x In r
If x.EntireRow.Hidden = False Then
count = count + Application.WorksheetFunction.CountIf(x, cond)
End If
Next
CountIFonDisp = count
End Function
-----------------------------------------------------
*****************************************************************

投稿日時 - 2009-05-27 11:44:09

QNo.4994185

困ってます

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

> ファイルを閉じるまでは数式が使用できますが1度閉じると
> 再計算不可になります。

VBAによるユーザー定義関数ですからマクロが有効になっていないと使えません。開くときにマクロを有効にして下さい。

http://support.microsoft.com/kb/881335/ja

投稿日時 - 2009-05-27 13:04:19

お礼

ご指摘ありがとうございました!
アドバイス頂いた方法にて解決しました!
ありがとうございますm( _ _)m★

投稿日時 - 2009-05-27 13:15:30

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ただのユーザー定義関数に見えるのですが・・・?

>→ファイルを閉じるまでは数式が使用できますが1度閉じると
再計算不可になります

コードを入力した標準モジュールは、その式を利用するブックと同じか確認してください。

投稿日時 - 2009-05-27 12:25:18

補足

アドバイスを頂きありがとうございました。
コードは該当ブックについておりました。
回答者no.2のマクロのセキュリティレベルにて解決しました。
ありがとうございました。

投稿日時 - 2009-05-27 13:13:06

あなたにオススメの質問