エクセルセル位置2

  解決したと思ったんだが、やっぱりずれる。

 で、ずれると、本来の位置との差が、次に選択したセルに反映される。

 どういうことかというと、本来アクティブセルは5で表示は3だとすると、6を選ぼうとすると8になるというわけの分からないことに。

 マウスホイールの入力で、正しい位置に飛ぶのだが、実に怪しい挙動だ。

 本来は、セルのハイパーリンクで別シートに飛んだらアクティブセルを左上に位置調整するという物なのだが。2013だとちゃんと動いたんだよなあ、2024だとなんでずれるんだろ。

 シートがアクティブになったら位置調整するイベントなのだが、おそらく遅延が発生していて、表示と内部処理?がずれるっぽいんだが。

 前回の上下移動は、結局、時間稼ぎでタイミングを遅らせただけなのだが、やはり、それでもずれたりする。

 かといって、永遠動かすとか、weit かけるというのも、必要以上に動きを遅らせるのでまずい。

 ということで、

  Do

      ActiveCell.Offset(-1, 0).Select

      ActiveCell.Offset(1, 0).Select

      ActiveWindow.ScrollRow = ActiveCell.Row

      MyRa = ActiveWindow.VisibleRange.Item(1).Row

      MyRb = ActiveCell.Row

  Loop Until MyRa = MyRb

 としてみて、現在の1行目と、飛んできたアクティブな1行目を比べて、一致するまで繰り返すという形に。

 これだと、オフセットいらないだろと思えるのだが、外すとやっぱりずれる。

 うーん、美しくないなあ。

コメント

このブログの人気の投稿

下水管のチェック

フォルダの読み取り専用とコピーの管理者権限

インターネット障害