
Option Explicit
Sub hidari()
Dim i As Integer
For i = 0 To Worksheets.Count - 1
If Sheets(Worksheets.Count - i).Visible = True Then Application.Goto reference:=Sheets(Worksheets.Count - i).Cells(1, 1), scroll:=True
Next
End Sub
[やりたいこと]
・表示されている全シートについてカーソル位置を先頭(左上隅)にする。
・スクロールバーもそこに戻す。
・表示されている1番目のシートを選択した状態にする。
・1枚のブックに表示・非表示にかかわらず1枚以上のシートがある。
「先頭」はセルA1でも可視セルの一番左上隅でも良いと思います。
勤務先などの文化によっては、ある程度ニーズがあると思うのですが、なんだか難しいのです。
調査・試行錯誤の後で上記のマクロを作ってみましたが、手順が素直でないだけでなく、グラフなどワークシート以外のシートがある場合の対応もできていません。
もっと上手い人の解決法を知りたく投稿します。何卒よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
#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には出来ない。
No.3
- 回答日時:
[やりたいこと]をやると
こんな感じ?
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番目のシートの前に非表示のシートがあるとエラーになる。
No.1
- 回答日時:
複雑なやり方を使わずとも
標準モジュールに
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です。
本日気づいたのですが、グラフはスクロールバーを動かして保存しても次に開いた時にそのスクロールバーの位置が記憶されないようです。なのでグラフに関しては特に「カーソル位置を先頭にする」という動作は必要ではないです。オプション設定に依存するものも多いようですし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
何回やってもうまくいかないことは?
みなさんには、何回やってもうまくいかないことはありますか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
あなたの人生で一番ピンチに陥った瞬間は?
これまでの人生で今振り返ると「あの時、1番ピンチだったなぁ...」という瞬間はありますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
Excelのシートを、まとめて表示位置をA1へ
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
別のシートから値を取得するとき
-
特定の文字を含むシートだけマ...
-
excelのマクロで該当処理できな...
-
userFormに貼り付けたLabelを変...
-
Worksheet_Changeの内容を標準...
-
シートが保護されている状態で...
-
実行時エラー1004「Select メソ...
-
VBA 最終行まで数式をコピーする
-
Excel VBA リンク先をシート...
-
IFステートの中にWithステート...
-
【Excel VBA】Worksheets().Act...
-
Excel VBA マクロ 先頭行の固定...
-
XL:BeforeDoubleClickが動かない
-
ExcelVBA シート名を複数セルか...
-
VBAで指定シート以外の選択
-
VBA 改行コードの取り方
-
VBA 存在しないシートを選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
【ExcelVBA】全シートのセルの...
-
別のシートから値を取得するとき
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
ブック名、シート名を他のモジ...
-
【VBA】シート名に特定文字が入...
-
シートが保護されている状態で...
-
VBAで指定シート以外の選択
-
エクセルのシート名変更で重複...
-
XL:BeforeDoubleClickが動かない
-
VBA 存在しないシートを選...
-
IFステートの中にWithステート...
-
実行時エラー'1004': WorkSheet...
-
Excel VBA リンク先をシート...
-
エクセルVBA Ifでシート名が合...
-
ExcelVBA:複数の特定のグラフ...
-
ExcelのVBAのマクロで他のシー...
-
実行時エラー1004「Select メソ...
おすすめ情報