
No.1ベストアンサー
- 回答日時:
Worksheet_Change:シートに変更があったら
For Each R In Target:選択されているセル範囲を順番に
With R:順番に回っている現在のセルに対して
条件判断と処理を実行
End With:Withの終了
Next R:次のセルへ、全て回り終えたら終了
End Sub:終了
No.2
- 回答日時:
こんにちは。
#1様の回答で十分なのですが、「For Each R In Target」は、一種の予防策で、
前回、私が書いた、
If Target.Count >1 Then Exit Sub 'セルをを2個以上選択した時はマクロは不可
の代わりというか、逆の発想をするものです。
普通は、単一のセルを対象にして、イベント・ドリブン型にするのが一般的です。複数のセルを処理するとエラーになることがあります。しかし、このマクロは、複数セルを処理するというものです。主に、複数のセルを貼り付けた時や複数のセルを消去した時に、処理するようにできています。
この回答への補足
WindFallerさん、こんばんは
先日もお世話になりました
だめです、私の脳味噌では理解不可能です
確かに、今のマクロでは、想定外のことをやるとエラーになって
そこで、安易に、On Error Resume Next を変数宣言のすぐ後に書いています
もう一度、On Error Resume Next を外してチェックしてみます
Private Sub Worksheet_Change(ByVal Target As Range)内で
セル範囲(1列50行)が1つ指定してあって、その範囲内なら
For Each R In Target
With R
で処理しているのですが
あと2つセル範囲を指定して処理したいことがあるのですが
For Each R In Target
With R
が分からなかったので質問しました
このマクロは安易に行数を増やすと処理が遅くなりそうです
Target.CountもDebug.Printでチェックしてみます
ありがとうございました
わかりました
'On Error Resume Next として
Target.CountをDebug.Printで見てみると
必ずしも1以上でエラーになるのではなくて
複数のセルをコピーした時
一つのセルを複数コピーした時
に「型が一致しません」のエラーになります
複数のセルをマウスで選んでDeleteした時はエラーになりません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルvba (ByVal Target As Range)について
Excel(エクセル)
-
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
-
4
Changeイベントでの複数セルのクリアの処理について
Visual Basic(VBA)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
vba セルに入力した時間をマクロで受け取るには?
Excel(エクセル)
-
9
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
10
エクセルでドロップダウンリストを複数連動させ、1つ目を変えた時2つ目以降をリセットさせたい
Excel(エクセル)
-
11
Worksheet.Change イベントを他のシートにも反映させる方法?
Visual Basic(VBA)
-
12
vba:特定のセルに入力したと同時に隣のセルの値を特定のセルの下の行に自動入力したい_No.2
Excel(エクセル)
-
13
データが入力されている隣のセルに当日日付と時刻を入力するExcel VBAプログラム
Visual Basic(VBA)
-
14
Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる
Visual Basic(VBA)
-
15
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
16
EXCEL あるセルに数字が入力されれば既存マクロ実行させたい
Excel(エクセル)
-
17
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
18
EXCEL VBA 複数のシートに同じイベントプロシジャを書く場合
Excel(エクセル)
-
19
エクセルマクロで指定範囲内の図形を削除
Excel(エクセル)
-
20
セルの文字を「印刷時だけ非表示」にしたいです。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
vba テキストボックスとリフト...
-
(Excel)数字記入セルの数値の後...
-
EXCEL VBA セルに既に入...
-
数式を残したまま、別のセルに...
-
Excel for Mac使用中ポインタが...
-
対象セル内(複数)が埋まった...
-
エクセルのセルの枠を超えて文...
-
excelの特定のセルの隣のセル指...
-
エクセル オートフィルタで絞...
-
エクセルで住所と建物名を分け...
-
エクセル 足して割る
-
EXCELのセルの中の半角カンマの...
-
ハイパーリンクの参照セルのズ...
-
Excelで数式内の文字色を一部だ...
-
エクセルの書式設定の表示形式...
-
Excelでのコメント表示位置
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba テキストボックスとリフト...
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセル
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
エクセル オートフィルタで絞...
-
エクセルの書式設定の表示形式...
-
Excel 例A(1+9) のように番地の...
-
エクセルの一つのセルに複数の...
-
excelの特定のセルの隣のセル指...
-
EXCEL VBA セルに既に入...
-
Excelでのコメント表示位置
-
エクセルのセルの枠を超えて文...
-
【エクセル】IF関数 Aまたは...
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
【Excel】 セルの色での判断は...
おすすめ情報