- ベストアンサー
VBAで非表示シートのカーソルを移動させられる?
エクセルVBAで非表示のシートのカーソルを移動させられますか? 非表示のシートのセルをSelectしようとしてもエラーになるのはわかります。 ただ、非表示のシートでもどこかのセルにカーソルがあたっていると思います。 単なる興味なのですか、このカーソルの位置を動かすことは可能なのでしょうか? ScreenUpdatingをFalseにしてからいったん表示させカーソル移動させてから戻し、ScreenUpdatingをTrueにするというのならわかりますが、そうでなく、まったく表示しないでの話です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>..カーソルの位置を動かす.. ..ActiveCell位置を変更するという意味なら できなくもない、です。スクロールは無理です。 ActiveCell.Copy Sheets("Sheet1").Range("X1").PasteSpecial xlPasteComments '無難そうなオプションなので Application.CutCopyMode = False 実用的な意味があるとも思えませんが 『単なる興味..』私は嫌いではありません。 一見できなさそうに思えても、色々試したり工夫したりする事で Excelのメソッドに対する理解が深まるのでは、 と思ってます。
その他の回答 (2)
- kybo
- ベストアンサー率53% (349/647)
そんなことは、出来ないです。 アクティブセルはアクティブなシートにしか存在しないので、アクティブでないシートのアクティブセルを移動することは出来ません。 ゆえに、アクティブにしてから変更することになります。
お礼
いえいえ、アクティブではなくカーソルがあたっているせるの移動なんです。 ありがとうございました。
- osahune
- ベストアンサー率47% (288/609)
VBAは、よく知りません。 よって参考までに・・ 下記のページを見ると非表示にしたページをマクロで再表示出来るようです。 よって再表示の後にセルの位置を変更する 再度非表示にする・・といった繰り返しをマクロで実行することにより、非表示のシート上でアクティブにするセルを変更できそうです。 非表示シートをまとめて表示したい:Excel エクセルの使い方-マクロ/VBA http://www.relief.jp/itnote/archives/001295.php ※カーソルの位置の変更→「セル間の移動」との解釈で回答しています
お礼
さっそくありがとうございます。 し参考のURLのページは非表示シートを表示させるマクロですね。 質問に書いたScreenUpdatingの話はまさにこれを見えなくしてする方法のことです。 で、知りたいのは非表示シートまたは非アクティブなシートを選択しないでカーソルを動かす方法がないかということなんです。 すみません。
お礼
すごい! やはりできるんですね、驚きです。 質問してよかった! これからもよろしくおねがいします。 ありがとうございました。