- ベストアンサー
エクセルのvba
こんにちは いつもお世話になります 早速ですがエクセルのVBAでわからないことがあります ある特定のセルを書き換えてENTERを押したときに イベントを発生させるにはどうすればよいのでしょうか Worksheet_Changeではどのセルを書き換えてもイベントが 発生してしまいます 素人ですみません 教えてください お願いします
- ws10
- お礼率30% (33/110)
- SE・インフラ・Webエンジニア
- 回答数1
- ありがとう数3
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>Worksheet_Changeではどのセルを書き換えてもイベントが発生してしまいます そのイベントを受取って、「変更されたセルのアドレス」を調べる事になります。 「Worksheet_Change(ByVal Target As Range)」 の引数の Target がセルの情報ですから、IF文等でそのアドレスを調べてから、プログラムの実行を判断します。 MsgBox Target.Address MsgBox Target.Address(False, False) MsgBox Target.Row MsgBox Target.Column
関連するQ&A
- EXCEL VBAのイベント発生方法について
EXCEL VBA でセルの値を変更したら、計算をするプログラムを作りたいのですが、入力を入力規則でリストから選択する方法をとると、選択項目を変更してもWorksheet_Changeのイベントが発生しません。発生させる方法は有りますか?
- ベストアンサー
- Visual Basic
- Excel VBA Worksheet_Change イベントについて
Excel VBA Worksheet_Change イベントについて質問です。 セルH8とI8を結合し、入力規則よりリストボックスを配置しました。 本シートにWorksheet_ChangeをVBAで作成しましたが、 セルH8:I8をDeleteすると実行時エラー13が発生します。 If Target = "" then exit sub end if や If Target.value = "" then exit sub end if や If Target <> "" then 処理 end if としても対処できませんでした。 よい対処方法のアドバイスよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- Excel VBA でイベント"Worksheet_Change"を使
Excel VBA でイベント"Worksheet_Change"を使って,データの追加処理中に,イベントが連続発生してしまい,エラー発生となります。解決方法のヒントがありませんか? 1)イベント発生を一時的に受け付けない構文の "Application.EnableEvents = False" を処理ルーチンの先頭に入れています。 2)データテーブル表の特定処理「データを追加のため,"セル挿入"→"データ投入"」を行うとイベントの連続発生があるので,"セル挿入"と"データ投入"との間に "Application.Wait (Now() + TimeValue("00:00:01"))" を入れて,タイミングを遅らせていますが効果ありません。
- ベストアンサー
- Visual Basic
- VBA入力なしのエンターでのセル移動
VBA初心者です。 エクセル2010使用してるのですが チェンジイベントで入力時エンターで以下のように動きますが 入力なしのエンターでC5セルに移動させるには どのような方法があるのでしょうか? Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Address Case "$H$5" Range("C8").Select End Select End Sub よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- [Excel VBA 2003] Worksheet_Changeでセルの削除・挿入を識別する方法
Excel VBAのWorksheet_Change関数でセルが削除・挿入されたことを識別することはできますか?Worksheet_Change以外でも方法があれば教えてください。
- 締切済み
- Visual Basic
- ExcelにおけるDDEデータのイベントプロシージャについて
DEEをつかって、Excelのセルにデータを出力しています。 そのセルのデータが変更された時に、自動でそのデータをコピーし別のシートにペーストしたいのですが、よろしければ助言をお願い致します。 イベントプロシージャの(worksheet_change)で試してみたのですが、任意でセルの値を変えないとプロシージャが動かず行き詰りました。 VBAも超初心者なのですが、よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- excel 図形を貼り付けた時のイベント
Excelでインターネットから図をインポートし、自動で周囲ぼかしを付けたいのですが、図をシートに貼り付けた時に「Worksheet_SelectionChange」「Worksheet_Change」などのイベントが発生せず自動化ができません。貼り付けで発生するイベントはないのでしょうか?
- ベストアンサー
- Excel(エクセル)
- Changeイベントの途中にユーザー定義関数が入る
Excel VBA勉強中のものです ○"A1"に数字を入力する →Worksheet_Changeイベント →"B1"~"B5"にそれぞれ結果が入る →"C1"にユーザー定義関数 =A(B5)がある みたいなことをしようとしているのですが、 やってみると、 ○"A1"に数字を入力する →Worksheet_Changeイベント →Worksheet_Changeイベントの"B1"(1つ目の結果)がでるところで →ユーザー定義関数 Function Aにとぶ →普通にEnd Function →そのまま終了(End subに行かない) となるのですが、Worksheet_Changeに戻って来ないものなのでしょうか? また、Worksheet_Changeの最初のところに Application.EnableEvents = Falseで他のイベントを発生させないように?はしているのですが、終わるまでユーザー定義関数を発生させない命令みたいなのってあるのでしょうか? 上には少なく書いてありますが、実際はたくさんのセルを使用しておりWorksheet_Changeだけだとかなりの長文になりそうで、後半はユーザー定義関数にしたのですが 根本的に考え方が間違っているのでしょうか? なにかいいアドバイスをお願いします。
- 締切済み
- オフィス系ソフト
- SelectionChangeとChangeの違い
エクセルのシートイベントには、 ・Worksheet_Change ・Worksheet_SelectionChange がありますが、違いはなんでしょうか? ・Worksheet_Changeはセルの値が変わったら発動 ・Worksheet_SelectionChangeは、 セルの選択が変わったら発動なおかつセルの値が変わったら発動 と言うことでしょうか? ・セルの値が変わったら、Changeイベントの方が先に発動する。 であってますか?ご回答よろしくお願いします。
- 締切済み
- オフィス系ソフト
- エクセルシートの塗りつぶしをVBAでやるには?
エクセルのセル塗りつぶしについて(VBA) いつもお世話になっています。 エクセルシートで、任意のセルに数値を入力したとき、入力したセルから右側に向けて、その数値分、自動で塗りつぶすようにしたいのですが、どのようにすれば良いのでしょうか? 色は何でも構いません。 画像添付します。
- 締切済み
- Visual Basic
お礼
早速の回答ありがとうございます 大変助かりました エクセルでしたいことがあるのですが すぐに行き詰ってしまいます おかげで一歩前進しました 本当にありがとうございます また よろしくお願いします