失礼いたします。
ExcelVBA初心者で、環境はExcel 2003です。
現在使用しているスケジュール表ワークシート(マクロあり)に、新マクロを追加したいと考えております。
新マクロの内容は、スケジュール表ワークシートのChangeイベントによって実行されるものです。
自分のスケジュール表の場合、ワークシートのコードにChangeイベントを追加・新マクロの記述をすればよいだけなのですが、
同僚にこの新マクロを配布しなければなりません。
なるべく同僚の手間を減らそうと考え、関係のありそうなアドインについて調べたのですが、
ワークシートのコードを変更せず(Changeイベントを追加せず)に、アドインを呼び出す方法が分かりません。
どなたか、詳しい方教えて頂けないでしょうか?
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
おっしゃっている内容に関しては、可能だと思います。アプリケーションを開けたときに、インスタンスを作り、そして、次に、そのインスタンスから、新たなブックのイベントを設ければよいのです。
しかし、本来、SheetChangeイベントは、入力からパフォーマンスまでのタイムラグが長いのと、入力方法がいろいろあるので、インターラプトされやすく、エラーが発生すると、イベントは壊れてしまいます。On Error トラップだけではまかないきれないのではないか、と思います。
自分のものなら、調整できても他人のワークシートのイベントの仕組みが壊れたときの復旧までは面倒見切れないと思うのです。もちろん、同じフロアで、「おーい!来てくれ」で、面倒が見れる範囲ならよいのですし、マクロ上で何かあっても、再起動すればよい、と答えるという人もいます。ただ、それは、その人のプログラミングのポリシーと技術力の問題です。
SheetChangeのマクロコードを見ずに、こういうことを書くのは軽率かもしれませんが、私は、現行バージョンでは、あまりアドイン型には、SheetChangeイベントはふさわしくないような気がします。
アドイン型の場合は、入力方法が限定されているコマンドボタンなどのほうがよいです。人は、こちらの思ったとおりには使ってくれないことが多いし、思わぬ使い方をする人もいます。
また、配布自体の方法論ではなく、あくまでも、その設計の問題です。
もう少し、内容など詳しいものがあれば、また考えてみたいとは思いますが、今の段階での、私のアドバイスです。
ご回答ありがとうございます。
大変参考になりました。
けれど申し訳ございませんが、
ExcelVBAの全体的な知識不足や工数の問題もありまして、
もっとも単純な配布方法である、コード自体の配布を考えています。
ご丁寧にありがとうございました。
No.2
- 回答日時:
エクセル2000までならマクロでモジュールに記述されたコードの書き換え等の操作できたのですが2003から出来なくなったと思います。
新しいマクロを記載したBOOKにユーザーが使っているスケジュール表ワークシートを自動的にコピーするようにマクロ書いて、そのBOOKを配布したらどうですか?
ご回答ありがとうございます。
申し訳ございませんが、
ExcelVBAの全体的な知識不足や工数の問題もありまして、
もっとも単純な方法である、コード自体の配布を考えています。
親切にありがとうございました。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
Excel VBA のdebug(F8キー) が...
-
エクセル ピボットテーブルの...
-
TeraTermのマクロについて
-
EXCELのセルへ、デジタル時計を...
-
エラーになってないのにVBA...
-
複数ファイルにある特定のシー...
-
エクセルのマクロ機能で前のシ...
-
EXCEL 複数のシートの同一の位...
-
Excelを開いた時に表示さ...
-
エクセル 自動で別シートへ並...
-
ワードで画像を自動で挿入する方法
-
エクセル グラフの軸の最小値最...
-
モジュール内のマクロを全て実...
-
エクセルに画像を貼付け縮小す...
-
【Excel VBA】エラー番号400
-
エクセルのマクロでワードのマ...
-
Excelマクロでオプションボタン...
-
エクセルのマクロについて印刷...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
Excel VBA のdebug(F8キー) が...
-
複数ファイルにある特定のシー...
-
EXCELのセルへ、デジタル時計を...
-
Excelを開いた時に表示さ...
-
エラーになってないのにVBA...
-
エクセル グラフの軸の最小値最...
-
ワードからエクセルへ貼り付け...
-
エクセルのマクロ機能で前のシ...
-
Wordの画面を左右にスクロール...
-
モジュール内のマクロを全て実...
-
Wordで「原稿用紙○枚」を換算す...
-
Excelの改ページ 同シート内で...
-
EXCEL 複数のシートの同一の位...
-
Accessのクエリを実行するショ...
-
エクセルで複数のシートをまと...
-
Excelマクロでオプションボタン...
-
【Excel VBA】エラー番号400
-
《エクセル2000》非表示になっ...
おすすめ情報