戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
Worksheet_SelectionChangeの挙動について

    [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のコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [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つだけですか、それとも複数ですか。
      ペースト結果はどうなりますか。




    [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のコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [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
      
      # これは知らなかった。良い情報です。
      # 有力回答者に説教ですか、うーむ。
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [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を趣味にして質問者さんの問題に取り組んでいますが、
      漢字と同様間違って覚えていたり、新しい仕様(バグ?)を発見することがたまにあります。
      そんなとき、また作業依頼や質問をさせていただくことが有ると思いますので、どうぞよろしくお願いいたします。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G