プロが教えるわが家の防犯対策術!

Excelのブックファイル(xls)の中に、いくつもシートがあるのですが、
カーソルのあるセルはばらばらです。

これをすべてのシートでまとめて、カーソルの位置をA1に持ってきて、
しかも、A1が表示された状態にしたいのですが、どうすればよいでしょうか。(以下も読んで下さい。)

すべてのシートでまとめて、カーソルの位置をA1に持ってくることはできるのです。
(すべてのシートを選択して Control+HOME)

問題なのは、カーソルの位置がA1になったからといって、その位置が表示された状態になるとは限らないということです。(意味がわかりますか?)
(現在表示されているシートはカーソル位置が表示されるようですけど。)

スクロールバーを動かせば表示させたいところを表示できます。
しかし、いちいちそうしなくても、すべてのシートでA1が表示されているようにするには、どうすればよいのでしょうか。


すべてのシートを選択してスクロールバーを動かしても、すべてのシートをまとめて、表示位置を動かすことはできません。

バージョンは2000です。

A 回答 (4件)

表示位置まで意識したことはないんですが、私はいつも下記の自作マクロを使用しています。


実行すると、全てのシートにおいて[A1]にカーソルが移動し、かつ[A1]が左上隅に来た表示状態になります。(そういうことでいいんですよね?)
なぜそうなるかの理屈は私自身が分かっていないんですが、ご参考になれば・・・

Sub HOME()

 Dim ws As Variant
  For Each ws In Worksheets
   If Sheets(ws.Name).Visible = True Then
     Sheets(ws.Name).Select
     Range("A1").Select
   End If
  Next
  Sheets(1).Select

End Sub
    • good
    • 3

この内容から察すると、「ブックを開いた時、自動的に常に全シートで


アクティブセルをA1にして、ウィンドウの左上配置になるようにしたい」
ということではないかと推察します。

もし、そうであればVBAを使うことになりますが、次の設定で出来ます。

一応、操作手順を詳しく書いておきますので、テストしてみてください。

1.Alt + F11 で VBE(Visual Basic Editor)を開きます。
2.「プロジェクトウィンドウ」(表示されていなかったらCtrl+R)の
  「ThisWorkbook」をダブルクリックします。
3.開いたコードウィンドウに下記コードをコピーして貼り付けます。
  (「Option Explicit」があれば、その下付近に)
4.必要により、3行目の "A1" を変更するとアクティブ&左上セルを
  変更出来ます。
5.Alt + Q (または右上隅の×)でウィンドウを閉じ、シートに戻ります。

Private Sub Workbook_Open()
Dim R As Long, C As Integer, S As Integer
Const ActCell = "A1" ' <-- 開いたときアクティブにし、
'              ウィンドウ左上にするセルを指定します。
R = Range(ActCell).Row
C = Range(ActCell).Column
For S = 1 To Worksheets.Count
  Worksheets(S).Select
  Range(ActCell).Activate
  ActiveWindow.ScrollRow = R
  ActiveWindow.ScrollColumn = C
Next S
Worksheets(1).Select
End Sub
    • good
    • 2

やはりマクロを使用したほうがいいのではないでしょうか


詳しい事が分からなくてもマクロの記録と実行で何とかなるので挑戦して見てください

記録するとビジュアルベーシックの中に下記のような命令文があると思いますが、それが画面を上に移動してA1を選択するという意味です

ActiveWindow.SmallScroll Down:=@@
Range("A1").Select
    • good
    • 0

見当違いな回答でしたらすみません。



>スクロールバーを動かせば表示させたいところを表示できます。
>しかし、いちいちそうしなくても、すべてのシートでA1が表示されているようにするには、どうすればよいのでしょうか。

↑は、例えば、カーソルを、A1が本来表示されないような位置(AA1など)に持っていっても、常にA1を表示させるという意味でよいのでしょうか?

もしそうなら、ウィンドウ→「ウィンドウ枠の固定」を選択すればできるのですが・・・。

もしも、A1だけを常に表示させたいのであれば、B2にカーソルを持っていって、そこで「ウィンドウ枠の固定」を選択すれば、その後、どこにカーソルを持っていっても、A1だけは常に表示させることが可能です。

もし、ご質問の内容と回答が全く違っていたらすみません。
    • good
    • 0
この回答へのお礼

質問内容と違いますが、
参考にさせていただきます。

お礼日時:2003/07/23 16:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A