
作業ブックに下記のマクロを設定しております。
Sub 各シートセル位置指定()
Sheets("新築").Select
Range("A5").Select
Sheets("変更").Select
Range("A5").Select
途中省略
Sheets("増築").Select
Range("A5").Select
End Sub
各シートの各セル位置を設定できるようになっております。
しかし
例えば
シート("新築")("増築")が表示されている場合はマクロが実行されますが、
シート("変更")が非表示の場合はエラーメッセージが表示されて上手くマクロが実行
できません。
ブックの作業の方法によってシートが表示されたり非表示になったりします。
解決方法を教えていただけますか。
一つの方法として、非表示シートを一度、すべて表示にしてから、
このマクロを実行する方法があると思いますが、それ以外の方法はありますでしょうか。
宜しくお願い致します。

No.4ベストアンサー
- 回答日時:
意図が良く分かりません
エラー対策という事でしょうか?
非表示シートもA5選択したいという事でしょうか でしたら
>一つの方法として、非表示シートを一度、すべて表示にしてから
一番簡単ではと思いますが
エラーを出さないだけなら既に回答にある様な方法か
原因自体を回避する方法になるかと
例えば
Sub 各シートセル位置指定()
Dim sn As Variant
For Each sn In Array("新築", "変更", "途中省略", "増築")
With Worksheets(sn)
If .Visible Then
.Select
.Range("A5").Select
End If
End With
Next
End Sub
シトー名の存在確認ロジックを入れる必要があります
で
表示非表示を切り替える事無く
対象非表示シートのA5を選択したい場合は・・
少し力技で考え(実行時に選択されているわけではないけれど非表示対象シートを登録しておき再表示したときにA5が選択される)
標準モジュール
Option Explicit
Public waitingSh As String
Sub 各シートセル位置指定()
Dim sn As Variant
For Each sn In Array("新築", "変更", "途中省略", "増築")
With Worksheets(sn)
If .Visible Then
.Select
.Range("A5").Select
Else
waitingSh = waitingSh & sn
End If
End With
Next
End Sub
ブックモジュール
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If waitingSh <> "" Then
If waitingSh Like "*" & Sh.Name & "*" Then
Sh.Range("A5").Select
Call Replace(waitingSh, Sh.Name, "")
End If
End If
End Sub
ちゃんと検証していませんし、エラー対策や無駄な処理があるかも知れません
シート名は配列にした方が確実かも知れませんね
まあ・・・暇つぶしにアイデアコードを書いただけです
No.3
- 回答日時:
こんばんは
何をしたいのか、意図がよくわかりませんけれど・・
非表示のシートもSelectしたいのなら、先に表示/非表示を調べて、Select後に非表示のシートは再セットしてあげればすむ話でしょう。
https://learn.microsoft.com/ja-jp/office/vba/api …
通常なら非表示シートのセルをSelectする必要はないと思うので、非表示ならスキップすればよさそう。
No1様の回答にあるエラー処理でも可能ですけれど。
シートを開いた際に特定のセルが選択されているようにしたいのなら、Activateイベントで選択するようにしておけばエラーになることはありません。
まとめて設定するのなら、ThisWorkbookのモジュールに設定しておけばすみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのVBAコードについて教えてください。 6 2024/06/28 11:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2024/12/03 09:10
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2024/12/04 13:24
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2024/06/18 09:20
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/07/02 08:51
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2024/03/06 13:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
以下のプログラムの実行結果はどうなると思いますか? その理由も教えてください。
Visual Basic(VBA)
-
エクセル タブの下のメニューを選択 実行するコード
Visual Basic(VBA)
-
-
4
エクセルvbaの対象セルに色をつける 例えば a日付 b種類 c値段 dその他 にんじん 50 ぴー
Visual Basic(VBA)
-
5
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
6
VB.net 文字列から日付型へ変更したい
Visual Basic(VBA)
-
7
質問58753 このコードでうまく動作しません。どうしたら良いですか Private Sub Wor
Visual Basic(VBA)
-
8
算術演算子「¥」の意味について
Visual Basic(VBA)
-
9
Excelマクロで使うVBAコードをスプレッドシートのGoogle Apps Scriptに変換
Visual Basic(VBA)
-
10
改行文字「vbCrLf」とは
Visual Basic(VBA)
-
11
【ExcelVBA】dictionaryの重複判断の基準(セル結合だと違う値として認識される)
Visual Basic(VBA)
-
12
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
13
Excelの計算が合いません。 諸事情で会計の簡素な購入・販売諸元表を作っているのですが、一つの項目
Excel(エクセル)
-
14
エクセルを使ってQRコードを作成したい。
Excel(エクセル)
-
15
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
16
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
17
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
18
VBA Application.Matchについての質問です
Visual Basic(VBA)
-
19
エクセル数式に問題があります
Excel(エクセル)
-
20
修正依頼:【VBA】 結合セルに複数画像とファイル名一括挿入する方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】オートフィルター を...
-
【ExcelVBA】5万行以上のデー...
-
VBAでCOPYを繰り返すと、処理が...
-
vbsでのwebフォームへの入力制限?
-
Vba Array関数について教えてく...
-
VBAでユーザーフォームを指定回...
-
エクセルでCDOを使ったメール送...
-
Vba セルの4辺について罫線が有...
-
VBAでセルの書式を変えずに文字...
-
【VBA】 結合セルに複数画像と...
-
【ExcelVBA】値を変更しながら...
-
【マクロ】シートの変数へ入れ...
-
エクセルのマクロについて教え...
-
ワードの図形にマクロを登録で...
-
testファイル内にある複数のpng...
-
ダブルクリックで貼り付けた画...
-
VBAでFOR NEXT分を Application...
-
【マクロ】並び替えの範囲が、...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報