- ベストアンサー
エクセルシートのカーソル位置を先頭にそろえる方法
- エクセルシートのカーソル位置を先頭にそろえて見栄え良く保存したい。表示されている全シートについてカーソル位置を先頭(左上隅)にし、スクロールバーもそこに戻し、表示されている1番目のシートを選択した状態にする方法を知りたい。
- エクセルシートのカーソル位置を先頭にそろえる方法が知りたい。全シートについてカーソル位置を先頭にするだけでなく、スクロールバーも先頭に戻し、1番目のシートを選択した状態にする方法を教えてください。
- エクセルシートのカーソル位置を先頭にそろえて見栄え良く保存したい。全シートについてカーソル位置を先頭にし、スクロールバーも先頭に戻し、表示されている1番目のシートを選択した状態にする方法を教えてください。もっと効率的な方法があれば知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。条件の見落としがあったようです。 グラフシートや非表示シートが有るとは。 Sub test01() Dim sh As Worksheet For Each sh In Worksheets MsgBox sh.Name & sh.Visible If sh.Visible = True Then sh.Activate sh.Range("A1").Select End If Next Sheets(1).Activate End Sub グラフシートの場合は判れば考えてみます。 >1枚のブックに表示・非表示にかかわらず1枚以上のシートがある。 これはエクセルの条件では無かったですか。ブックのシート数を0には出来ない。
その他の回答 (2)
- hige_082
- ベストアンサー率50% (379/747)
[やりたいこと]をやると こんな感じ? Sub Macro1() Dim sh As Worksheet For Each sh In Worksheets If sh.Visible = True Then Application.Goto reference:=sh.Range("a1"), scroll:=True Else sh.Visible = True Application.Goto reference:=sh.Range("a1"), scroll:=True sh.Visible = False End If Next Worksheets(1).Select End Sub
お礼
回答ありがとうございました。 Worksheets(1).Select ・表示されている1番目のシートがグラフだった場合に選択されない。 ・表示されている1番目のシートの前に非表示のシートがあるとエラーになる。
- imogasi
- ベストアンサー率27% (4737/17069)
複雑なやり方を使わずとも 標準モジュールに Sub test01() Dim sh As Worksheet For Each sh In Worksheets 'MsgBox sh.Name sh.Select Range("A1").Activate Next End Sub ーーーーーーーー 実行後、どれもシートのセルをクリックしないよう気をつけて、シートタブの法をクリックして、確認のこと。
お礼
回答ありがとうございました。 sh.Select これでは、非表示のシートがあるとエラーになります。グラフでエラーが出ないのは良いんですけど。 ・表示されている1番目のシートを選択した状態にする。 これが上手く伝わらなかったようです。失礼しました。 1番目のシートとは、1番左のシートという意味です。 補足 使用しているのはExcel2003です。 本日気づいたのですが、グラフはスクロールバーを動かして保存しても次に開いた時にそのスクロールバーの位置が記憶されないようです。なのでグラフに関しては特に「カーソル位置を先頭にする」という動作は必要ではないです。オプション設定に依存するものも多いようですし。
補足
もっと上手い人の解決法を知りたく投稿します。何卒よろしくお願いいたします。
お礼
ありがとうございました。 Sheets(1).Activate これで解決したようです。とりあえず実用上問題ないようなので。