テキストボックスでFormat関数を使うと中断するが?

Question 41.4   Previous Next
Format関数についてご教示ください。UserFormのなかで
TextBox1.Text = Format(TextBox1.Value,"yyyy/m/d")
のような表示形式("#,###"でも同様)を示すコマンドを書きましたが問題なく動くパソコンと、ここでマクロが中断するパソコンがあります。Excel97でもExcel2000でも起きました。
本HPのなかに下記のような記事がありましたが、問題はどこにあるのでしょうか?
入力値 = TextBox2.Value
編集値 = Format(入力値, "###,###")
TextBox2.Value = 編集値
Answer   Copyright (C) 2001.5.12 永井善王
中断の件、私のパソコンでは、Excel2000 Ver. 9.0.2812 を使っていますが、再現できませんでした。「97でも2000でも起きる」ということですから、Excelのバージョンのせいとは思われませんが。

Format関数の使い方としては、引数 format の表示書式指定文字 "yyyy/m/d" を"#,###" に変えても同じ現象ということですし、問題点は考えられません。
よって、なぜパソコンにより異なるのか、はっきりとはわかりません。

マクロが中断したときのパソコンの状態は、フリーズしてしまうのでしょうか。それとも、マクロエラーでしょうか。エラーメッセージなど、くわしく知りたいですね。
Format関数のエラーの件 2001.5.23 質問者より
Excel97でのエラー内容は、コンパイルエラーで 「プロジェクト又はライブラリーが見つかりません」 というものでした。
参照設定ダイアログ
参照設定を見ると参照不可に
「Access Calendar Control7.0」となっていました。
これが Dateや Formatを使うとエラーになるのでしょうか。ちなみに、そのままでも新しいBookでは Formatも Dateも正常に動作しました。

そこで Office95から Accessを追加しますと、先のエラーを起こしたプログラムでも、問題なく動作しました。
これはプログラムを書いたとき (Excel2000VBA) の問題だと推測しますが、何分仕組みを理解していませんので、お騒がせしました。

Openイベントで書き込んだツールバーのカスタマイズでもエラーが出たり、 BeforCloseのイベントプロシジャーで、レコードをサーバに送り込んでツールバーを元に戻し、保存して終わろうとすると、同じことを必ず 2回実行したり(多分うまく書くと回避できるはずですが)で、
自分のPCでうまく動作するものが他のPCでエラーを起こすことがあるので、せっかくの力作をシンプルなものにマイナーチェンジして渡している今日この頃です。ご指南有難うございました。

ExcelVBAの本はExcel5から数えてかれこれ10冊は超えたと思います。
永年面白そうだとは思っていたのですが、今年になって物まねプログラムを書いて動いたことに感激し、Accessでは今一うまくいかなかったイントラネット上のデータベースプログラムを作ってみました。

基本は各個人が、UserFormのインターフェースでワークシート内にレコ-ド作成し、テキストファイルをサーバー (ただの倉庫) に送り込み、それを別の部署のプログラムで読み込んで、マスタやレコードにして行く幼稚なものです。
いまのところ、10台のピアツーピアで同時にテキストファイルでアクセスしていないためか、トラブルはないようです。

マクロ500連発2の 019番の 「共有化ファイルが使用中かチェックする」 で解決できるのか楽しみです。

 

Excel VBA Macro