![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
こんにちは。
Range("A1").Value = "こんにちは"
この実行結果を確認する意味でしたらば、
シートモジュールにて_Changeイベントを用います。
以下、シートモジュール。
Private Sub Worksheet_Change(ByVal Target As Range) ' 8331714
If Target.Count > 1 Then Exit Sub
If Target.Row > 30 Then Exit Sub
If Target.Column > 20 Then Exit Sub
If Target.Value = "" Then Exit Sub
MsgBox "アドレスは " & Target.Address(0, 0) & _
vbLf & "値 は " & Target.Value
End Sub
イベントプロシージャのポイントは、条件分岐で、
不要な処理を予め回避するように書くことです。
例では、
If Target.Count > 1 Then Exit Sub
複数セルを纏めて値変更した場合は、
(以下同様)この行で処理を抜けて終了します。
If Target.Row > 30 Then Exit Sub
値を変更したセルが39行めよりしただった4なら、
If Target.Column > 20 Then Exit Sub
値を変更したセルが39行めよりしただった4なら、
If Target.Value = "" Then Exit Sub
値を変を消去した場合は、
といった具合に、必要に応じて処理を分けるように
そして事前にエラーを回避するように書く
のが基本ではあります。
ただし、
Range("A1").Value = "こんにちは"
と書いた時点で、この実行プロシージャの内では、
2つの値が解っているのですから、
わざわざ、イベントプロシージャに依存する必要はないような?
例えば変数を使って
a = "A1"
v = "こんにちは"
Range(a).Value = v
MsgBox "アドレスは " & a & _
vbLf & "値 は " & v
のようにする方が確実ではあります。
大変詳しく説明して頂き、ありがとうございます。
下記方法で表示させることが出来ました。
MsgBox "アドレスは " & a & _
vbLf & "値 は " & v
このように"アドレスは"、"値は"等の語句を入れることでより分かりやすくなりました。
Changeイベントについては、今後行き詰った時に参考にしたいと思います。
No.3
- 回答日時:
#2、cjです。
訂正です。説明コメントに間違いがありました。
If Target.Row > 30 Then Exit Sub
値を変更したセルが30行めより下だったなら、
If Target.Column > 20 Then Exit Sub
値を変更したセルが20列め(T列)より右だったなら、
以上訂正をお願いします。失礼しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelヘルプの原文を表示する最速の方法(手順)には? 1 2023/08/11 11:30
- Excel(エクセル) 【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力 3 2023/01/25 00:12
- Excel(エクセル) 【EXCEL】=セル&セルが上手く表示できない。 7 2022/09/04 21:32
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) Excleマクロ セル値の代入と文字列の結合について 3 2022/10/05 16:47
- Visual Basic(VBA) VBA ドロップダウンリストを残して値のみクリア 2 2022/10/27 05:42
- Excel(エクセル) エクセルについて教えてください。 1 2022/12/26 09:01
- Excel(エクセル) エクセル シート内のボックスを縦並びから横並びに 7 2023/04/05 04:28
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
VBAで結合したセルがクリアできない
Excel(エクセル)
-
-
4
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルVBAでコピーして順...
-
【Excel】指定したセルの名前で...
-
【Excel VBA】指定行以降をクリ...
-
特定の文字を条件に行挿入とそ...
-
Excelのプルダウンで2列分の情...
-
【EXCEL VBA】Range("A:A").Fi...
-
TODAY()で設定したセルの日付...
-
セル色なしの行一括削除
-
マクロ セルの値に応じてセルに...
-
エクセルVBAで、非表示にし...
-
screenupdatingが機能しなくて...
-
”戻り値”が変化したときに、マ...
-
VBからEXCELのセルの値を取得す...
-
EXCELで変数をペーストしたい
-
Excel VBAで、 ヘッダーへのセ...
-
VBAでセルをクリックする回...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excelで指定した日付から過去の...
-
【Excel】指定したセルの名前で...
-
TODAY()で設定したセルの日付...
-
EXCELで変数をペーストしたい
-
Excel VBA、 別ブックの最終行...
-
Excelのプルダウンで2列分の情...
-
VBA コピーして次の値まで貼り...
-
screenupdatingが機能しなくて...
-
エクセルVBAでコピーして順...
-
VBA初心者です。結合セルを保持...
-
セル色なしの行一括削除
-
VBAでセルをクリックする回...
-
Excel vbaで特定の文字以外が入...
-
DataGridViewの各セル幅を自由...
-
特定の文字を条件に行挿入とそ...
-
【VBA】指定したセルと同じ値で...
おすすめ情報