[[20220417095021]] 『セルのコピによる点滅表示につきまして』(トラ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルのコピによる点滅表示につきまして』(トラ)

お世話になります。

概要:
セルをコピすると、その場所に点滅する点線が表示されます
他のセルをクリックしても点線表示は解除されません。
クリックしたセルに数値を入力しますと点線表示は解除されます。
数値の入力だけではSelection Changeのイベントは発生しませんでした。
数値の入力したセルをクリックしますとSelection Changeのイベントは発生しました。

質問:
セルに数値を入力するだけではSelection Changeイベントは発生しませでしたが点線表示は解除されました。
点滅する点線表示の解除について知りたかったのですがイベントとは関係ない、仕様と考えれば良いでしょうか。

以上につきまして、宜しく、お願い致します。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


イベントとは関係ないです。

Escキーを押すと、その表示はやみます。
もちろん、それによって
クリップボードに入っていたものは利用できなくなります。(Officeクリップボードは除く)

なお、点滅するのは以下の関係です。
「アクセシビリティ」の「操作の結果のオプション」で、
「操作をアニメーションで表示する」にチェックが入っていると
点滅すると思います。
(私は、チェックをはずしています。)

(γ) 2022/04/17(日) 10:14


γさん

返答下さいまして、ありがとうございます。

なお、点滅するのは以下の関係です。
「アクセシビリティ」の「操作の結果のオプション」で、
「操作をアニメーションで表示する」にチェックが入っていると
点滅すると思います。
はい、分かりました。「アクセシビリティ」の「操作の結果のオプション」につきまして
調べます。ご指導につき感謝申し上げます。

(私は、チェックをはずしています。) はい、分かりました。参考になります。
(トラ) 2022/04/17(日) 10:28

どのような時にコピーモードが解除されるかは厳密に仕様を説明するのは難しいです。
あまり神経質になる必要はないと思います。

・コピーしたら、できるだけ早くにそれを実行する、
 (間に余計な処理をするとクリアーされることがあるので)
・不要ならEscキーを自分で押す
くらいを抑えておけばよいかと思います。

SelectionChangeの起動については、
要するに「選択状態が変わったとき」に発火するということです。
ですから同じセルを繰り返し何度クリックしても、回数分発生するわけではありません。

(γ) 2022/04/17(日) 10:33


γさん

度重ね、ご返答して下さいまして、ありがとうございました。

・コピーしたら、できるだけ早くにそれを実行する、
 (間に余計な処理をするとクリアーされることがあるので)
・不要ならEscキーを自分で押す

SelectionChangeの起動については、
要するに「選択状態が変わったとき」に発火するということです。
ですから同じセルを繰り返し何度クリックしても、回数分発生するわけではありません。

以上につきましては、参考になりました。

ご教示につきまして、感謝申し上げます。
(トラ) 2022/04/17(日) 10:43


>セルをコピすると、その場所に点滅する点線が表示されます
>他のセルをクリックしても点線表示は解除されません。
ダブルクリックすると解除されますよ。
(raion) 2022/04/17(日) 12:04

念のために補足しますと、
ダブルクリックで解除されるのは、
オプションの「詳細設定」で「セルを直接編集する」にしているときに限ります。
そのチェックが外れていると、ダブルクリックしても解除はされません。
つまり、いったん編集モードに入ることが解除の要件です。

=== 以下、余談に近いです。 ======

閑話休題。
皆さんにお聞きします。

Sub test()

     [A1:B2].Value = 1
     [A1:B2].Copy
     DoEvents
     [A1:B2].Value = 2
End Sub
を実行してください。
1がセットされた状態でコピーしていますよね。
そのあとで2に変更しています。

C1を選択して、CTRL+Vで貼り付けしてみてください。
C1:D2は、どうなると思いますか?

また貼り付けをOfficeクリップボードを利用して行ったらどうなると思いますか?

(γ) 2022/04/17(日) 12:55


(γ)さん補足説明有難うございます。
これを言うのを忘れていました。
(raion) 2022/04/17(日) 14:11

 余談続き:

 Windowsのクリップボードは、コピーした段階で貼り付け情報が確定するのではなく、
 貼り付けする際の状況にもよります。

 (1)
 最初のコードでは、コピーした時点では1であったものが,
 貼り付けする段階では2になっている、という状況です。

 この時、貼り付ける時の状況をもとに、再度取得するようです。
 (これは、決して処理のラグの関係ではありません。)
 Windowsクリップボードはそのような機構を備えているそうです。

 (2)
 Excelシートのセルをコピーして別ブックにペーストすると
 セルそのものの属性も含めて貼り付きますが、
 コピー元のブックを閉じてからペーストすると、
 テキストしか貼り付きません。
 これも、コピー内容がコピー時点で確定するものではないことを示しています。

 (3)
 一方で、Officeクリップボードはそういう仕組みはなく、
 コピーした段階で、HTML形式のデータとして、Excel内に保持されます。
 したがって、事後に1から2に変わっても、その影響は受けません。

 このように、コピー元が変化するかどうかにExcelは神経を使っていますので、
 なんらかの処理をした場合(編集モードへの変更とか)、
 クリップボードを破棄して、ユーザーの意図と異なる動作になることを避けるようにしています。
 また、破線でコピー元情報を囲むことで、
 クリップボードが生きていることを示すようにしています。

 クイズの回答でした。

(γ) 2022/04/22(金) 08:32


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.