このトピックに書きこむ |
---|
Re[4]: Worksheet_SelectionChangeの挙動について | |
---|---|
[194707] Re[4]: Worksheet_SelectionChangeの挙動について- ■ / 記事引用/メール受信=OFF■ □投稿者/ kazuo -(2022/02/02(12:38)) □U R L/ ヘンリーさんコメントありがとうございます。 99%いらないけど。 書き込むことによりあなたの優越感が少しでも満たされているのなら”少しは役に立てたかな”と思います。 ただ、回答する側として、 >有料でやってくれる人に頼んでみては… これだけはあなたに書いて欲しくなかったです。 あなたも以前この様な掲示版で質問し、回答を貰ったことがありませんか。 書かれたら嫌でしょう?掲示版が存在しなくなったら嫌でしょう? >>'4セル選択されているがtargetは1セル? 他の方からいただいていますのでヘンリーさんのバージョンでも同じだと思いますが、 selsectionセル は4つなのにtargetセルとしては1つが返るのが仕様のようです。 チンコさんご確認ありがとうございます。 とおりすがりさんいつもありがとうございます。 6年あまりボケ防止も兼ね、Excel-VBAを趣味にして質問者さんの問題に取り組んでいますが、 漢字と同様間違って覚えていたり、新しい仕様(バグ?)を発見することがたまにあります。 そんなとき、また作業依頼や質問をさせていただくことが有ると思いますので、どうぞよろしくお願いいたします。 |
[194706] Re[3]: Worksheet_SelectionChangeの挙動について- ■記事引用/メール受信=OFF■ □投稿者/ とおりすがり -(2022/02/02(07:07)) □U R L/ Excel2019 (非365) 1: Range クラスの Select メソッドが失敗しました。 2: [Book1.xlsm]Sheet1!$C$2:$E$2 3: [Book1.xlsm]Sheet1!$C$3:$C$4 4: [Book1.xlsm]Sheet1!$C$4 # これは知らなかった。良い情報です。 # 有力回答者に説教ですか、うーむ。 |
[194704] Re[2]: Worksheet_SelectionChangeの挙動について- ■記事引用/メール受信=OFF■ □投稿者/ チンコ -(2022/02/01(19:06)) □U R L/ 2007 1: Range クラスの Select メソッドが失敗しました。 2: [Book1]Sheet1!$C$2:$E$2 3: [Book1]Sheet1!$C$3:$C$4 4: [Book1]Sheet1!$C$4 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[194703] Re[1]: Worksheet_SelectionChangeの挙動について- ■記事引用/メール受信=OFF■ □投稿者/ ヘンリー -(2022/02/01(16:55)) □U R L/ >Excelバージョン毎にお知らせ願います。 有料でやってくれる人に頼んでみては… 「Worksheet_SelectionChangeイベントについて」 ご理解が浅いのかと思います。 MSのヘルプには、「ワークシートで選択範囲を変更したときに発生します。」 とありますよね。。。 つまり、Selectメソッドを実行した時だけではないという事です。 >'セレクトできないのにWorksheet_SelectionChangeイベントが発生? AutoFillを実行するとどうなるか分かりますか。 例えば、A1に数値の「1」、A2に数値の「2」を入れて、 手動でAutoFillを実行するとどうなるかやってみて下さい。 >[A1:A2].Copy Destination:=.Cells(2) '同じく上記イベント発生? 「貼り付け」をする時、どうしますか? 値の代入は、セルを選択しなくてもできますが、 「コピー&ペースト」特に「ペースト」するときはどうしますか。 >'4セル選択されているがtargetは1セル? 例えば、A1〜A3までを選択し、コピーを実行して、 A4セルだけを選択して、ペーストした場合、 選択されているセルは1つだけですか、それとも複数ですか。 ペースト結果はどうなりますか。 |
[194702] Worksheet_SelectionChangeの挙動について- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ kazuo -(2022/02/01(15:21)) □U R L/ 昨日指摘され気づいたのですが、 AutoFillなどのセルDestination系のコマンドについてのWorksheet_SelectionChangeの動作検証をお願いします。 目的:ただの好奇心です。 以下のコードでMacro1を動作させたときのイミディト画面への表示結果をExcelバージョン毎にお知らせ願います。 対象 Excel2007 (Excel2010) (Excel2013) Excel2019 新しいBookで Sheet1モジュール Private Sub Worksheet_SelectionChange(ByVal Target As Range) Debug.Print Target.Address(external:=True) End Sub 標準モジュール Sub Macro1() Worksheets.Add after:=Worksheets(Worksheets.Count) [A1:B2] = [{1,2;3,4}] With Worksheets(1).[C2] On Error Resume Next .Select Debug.Print "1: "; Err.Description 'セレクトできないので当然エラー On Error GoTo 0 .Value = "1" Debug.Print "2: "; .AutoFill Destination:=.Resize(, 3) 'セレクトできないのにWorksheet_SelectionChangeイベントが発生? Debug.Print "3: "; [A1:A2].Copy Destination:=.Cells(2) '同じく上記イベント発生? [A1:B2].Copy Debug.Print "4: "; .Cells(3).PasteSpecial '4セル選択されているがtargetは1セル? End With Application.DisplayAlerts = False Worksheets(Worksheets.Count).Delete End Sub Excel2016(365表示)の結果 1: Range クラスの Select メソッドが失敗しました。 2: [Book1]Sheet1!$C$2:$E$2 3: [Book1]Sheet1!$C$3:$C$4 4: [Book1]Sheet1!$C$4 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |