• ベストアンサー

VBAで非表示シートのカーソルを移動させられる?

エクセルVBAで非表示のシートのカーソルを移動させられますか? 非表示のシートのセルをSelectしようとしてもエラーになるのはわかります。 ただ、非表示のシートでもどこかのセルにカーソルがあたっていると思います。 単なる興味なのですか、このカーソルの位置を動かすことは可能なのでしょうか? ScreenUpdatingをFalseにしてからいったん表示させカーソル移動させてから戻し、ScreenUpdatingをTrueにするというのならわかりますが、そうでなく、まったく表示しないでの話です。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.3

>..カーソルの位置を動かす.. ..ActiveCell位置を変更するという意味なら できなくもない、です。スクロールは無理です。 ActiveCell.Copy Sheets("Sheet1").Range("X1").PasteSpecial xlPasteComments '無難そうなオプションなので Application.CutCopyMode = False 実用的な意味があるとも思えませんが 『単なる興味..』私は嫌いではありません。 一見できなさそうに思えても、色々試したり工夫したりする事で Excelのメソッドに対する理解が深まるのでは、 と思ってます。

emaxemax
質問者

お礼

すごい! やはりできるんですね、驚きです。 質問してよかった! これからもよろしくおねがいします。 ありがとうございました。

その他の回答 (2)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

そんなことは、出来ないです。 アクティブセルはアクティブなシートにしか存在しないので、アクティブでないシートのアクティブセルを移動することは出来ません。 ゆえに、アクティブにしてから変更することになります。

emaxemax
質問者

お礼

いえいえ、アクティブではなくカーソルがあたっているせるの移動なんです。 ありがとうございました。

  • osahune
  • ベストアンサー率47% (288/609)
回答No.1

VBAは、よく知りません。 よって参考までに・・ 下記のページを見ると非表示にしたページをマクロで再表示出来るようです。 よって再表示の後にセルの位置を変更する 再度非表示にする・・といった繰り返しをマクロで実行することにより、非表示のシート上でアクティブにするセルを変更できそうです。 非表示シートをまとめて表示したい:Excel エクセルの使い方-マクロ/VBA http://www.relief.jp/itnote/archives/001295.php ※カーソルの位置の変更→「セル間の移動」との解釈で回答しています

emaxemax
質問者

お礼

さっそくありがとうございます。 し参考のURLのページは非表示シートを表示させるマクロですね。 質問に書いたScreenUpdatingの話はまさにこれを見えなくしてする方法のことです。 で、知りたいのは非表示シートまたは非アクティブなシートを選択しないでカーソルを動かす方法がないかということなんです。 すみません。

専門家に質問してみよう