
現在、あるExcelプログラムの修正を行っております。
プログラム内にはセル内のテキストの変化をトリガーとして動作するマクロが標準モジュールに記述されてあるのですが、そのマクロを動作させるための記述が見当たりませんでした。
通常であれば、上記のような動作をさせる場合
Private Sub Worksheet_Change(ByVal Target As Range)
目的の動作(マクロ)
End Sub
を使用して実現すると思っているのですが、その記述はありませんでした。
また、それ以外の方法を自分なりに調べてみたのですが発見できませんでした。
私の知識不足で申し訳ないのですが、上記の方法以外にセルのテキストチェンジをトリガーとしてマクロを動作させる方法をご存知の方がおられましたら、ご教授の程宜しくお願い致します。
基本情報を記載します。
ファイル形式:xls
Excelバージョン:Excel2010
OS :Windows 7 Professional
No.2ベストアンサー
- 回答日時:
こんにちは。
>セルのテキストチェンジをトリガーとしてマクロを動作させる方法
クラスモジュールは、そのブックだけとは限らないです。
別の所にあっても、目的のイベントは働きますね。(それではウィルスもどきです(^^;)
アドインでも可能ですが、COMアドインの方は、それが出来たかは知りません。
COMアドインは、新しいテクニックは知りませんから。
他にも、一般的には ThisWorkbook モジュールが一番濃厚です。
それ以外に、古いテクニックですが、標準モジュールに、Ver.5 辺りのVBAの方法で、"OnEntry" メソッドがありますが、今、Excel2010で試してみましたら、まだ生きているようですね。
しかし、Helpには出てきませんでした。
>WindFaller様
早速の回答ありがとうございます。
標準モジュールを再度確認した結果、OnEntryメソッドによって実現されている機能であることが分かり、無事悩みが解決できました。以下のようなサンプルプログラムを作成し動作も確認できました。ご教授いただき、ありがとうございます。
調べてみると、もともとのプログラムが2001年に作成されたものだったのでOnEntryが使用されていたのではないかと思っています。
サンプル:
Sub Auto_Open()
TrapEntry
End Sub
Sub TrapEntry()
ActiveWorkbook.Worksheets("Sheet1").OnEntry = "movecells"
End Sub
Sub movecells()
If ActiveCell.Address() = "$C$2" Then
Range("G1").Select
Exit Sub
End If
End Sub
No.1
- 回答日時:
シートモジュールの中やクラスモジュールの中は見たのでしょうか?
この回答への補足
>f272様
早速返答いただきましてありがとうございます。
シートモジュール、クラスモジュールの中も確認しました。
クラスモジュールにはプログラムはありませんでしたが、シートモジュールには以下の中身のないプログラムが記載されています。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
動作の補足として、デバッグで確認した動きを以下に記載します。
(1)セルに値(数値)を入力してEnter
(2)標準モジュール内のプログラムが動作(特定のセルがActiveの場合、別のセルをActiveにする)
(3)上記のシートモジュールが動作
※試しにマクロの記録を行って確認しましたが、上記の動作と同じでした。
私としてはEnter押した直後に標準モジュールのプログラムが動作していることが分からない状態です。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- その他(プログラミング・Web制作) Pythonでexcelのvbaを作成、実行する方法について Pythonで表の自動集計プログラムを 3 2022/07/09 09:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
Excel VBA 『Call』で呼び出す...
-
Excel VBAで、ユーザーフォーム...
-
vba userFormのSubを標準モジュ...
-
ExcelでTelnetを動かしたい
-
vba 標準モジュールインポート...
-
ユーザー定義関数に#NAME?が返...
-
Access VBA標準モジュールにつ...
-
VB.NETでの他アプリケーション...
-
大量の標準モジュールを解放す...
-
VBA ユーザーフォーム Image1 ...
-
'Range'メソッドは失敗しました
-
VBAで旧字体を異字体に一括で変...
-
Workbook.BeforeSave イベント...
-
モジュールからフォームのボタ...
-
ベースモジュールって?
-
AddressOf と同じ機能を持った...
-
Excel VBA 標準モジュールの整...
-
レンタルサーバ探し
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
Excel VBAで、ユーザーフォーム...
-
vba userFormのSubを標準モジュ...
-
ユーザー定義関数に#NAME?が返...
-
VBでグローバル変数を宣言するには
-
Excel VBA 『Call』で呼び出す...
-
モジュールの最大数はいくつな...
-
VBAで旧字体を異字体に一括で変...
-
【vba】フォームに書いてあ...
-
VBAで別モジュールへの変数の受...
-
Access VBA標準モジュールにつ...
-
Excel VBA 定義されたプロージ...
-
モジュールとクラスの違いって...
-
'Range'メソッドは失敗しました
-
標準モジュールを削除したい。(...
-
VBA This Workbookモジュール...
-
大量の標準モジュールを解放す...
-
グラフのX,Y座標を取得したい
-
Excel VBA 標準モジュール内で...
おすすめ情報