| すぐマク YNxv98362 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| テキストボックスでFormat関数を使うと中断するが? |
|
|
|||||
Format関数についてご教示ください。UserFormのなかで
TextBox1.Text = Format(TextBox1.Value,"yyyy/m/d")のような表示形式("#,###"でも同様)を示すコマンドを書きましたが問題なく動くパソコンと、ここでマクロが中断するパソコンがあります。Excel97でもExcel2000でも起きました。 本HPのなかに下記のような記事がありましたが、問題はどこにあるのでしょうか? 入力値 = TextBox2.Value 編集値 = Format(入力値, "###,###") TextBox2.Value = 編集値 |
|
|||
|
中断の件、私のパソコンでは、Excel2000 Ver. 9.0.2812 を使っていますが、再現できませんでした。「97でも2000でも起きる」ということですから、Excelのバージョンのせいとは思われませんが。 Format関数の使い方としては、引数 format の表示書式指定文字 "yyyy/m/d" を"#,###" に変えても同じ現象ということですし、問題点は考えられません。 よって、なぜパソコンにより異なるのか、はっきりとはわかりません。 マクロが中断したときのパソコンの状態は、フリーズしてしまうのでしょうか。それとも、マクロエラーでしょうか。エラーメッセージなど、くわしく知りたいですね。 |
|
|||
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番の 「共有化ファイルが使用中かチェックする」 で解決できるのか楽しみです。 |
| http://www.geocities.jp/happy_ngi/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |