エクセル2000です。
VBAで、作業対象を全部のワークシートか選択されたシートかを任意で切り替えたいのです。
ためしに無理とは思いながら以下のように作ってみましたが、当然のようにエラーになります。
どうかお知恵をお貸しくださいませ。
お願い致します<(_ _)>
Sub test()
sc = ThisWorkbook.Worksheets.Count
ssc = ActiveWindow.SelectedSheets.Count
If sc <> ssc Then
ans2 = MsgBox(ssc & " 枚のシートだけでいいんですね?" _
& vbCr & "" _
& vbCr & "もし全部のシート(" & sc & "枚)を対象にするなら" _
& vbCr & "いいえを選択してください。", vbYesNo + vbQuestion, " o(^-^)o")
ts = IIf(ans = vbNo, Worksheets, ActiveWindow.SelectedSheets)'ここでエラー
End If
For Each sh In ts
sh.Activate
sh.Cells(1, 1).Value = sh.Name
Next sh
End Sub
No.2ベストアンサー
- 回答日時:
こんにちは。
zap35 さんのご回答で解決済みだと思います。蛇足で恐縮ですが、オリジナル
のコードだと、全てのシートを選択状態で実行すると ts が Empty でエラー
になります。
Sub test()
sc = ActiveWorkbook.Worksheets.Count
ssc = ActiveWindow.SelectedSheets.Count
Set ts = ActiveWindow.SelectedSheets
If sc <> ssc Then
ans2 = MsgBox(ssc & " 枚のシートだけでいいんですね?" _
& vbCr & "" _
& vbCr & "もし全部のシート(" & sc & "枚)を対象にするなら" _
& vbCr & "いいえを選択してください。", vbYesNo + vbQuestion, " o(^-^)o")
If ans2 = vbNo Then Set ts = ActiveWorkbook.Worksheets
End If
For Each SH In ts
' SH.Activate
SH.Cells(1, 1).Value = SH.Name
Next SH
End Sub
KenKen_SP、おはようございます。
試してみましたが、まさにその通りでした。
よくよく見れば、If sc <> ssc のときにしかSet ts をしてないんですから当然なんですよね。
勉強になりました。いつもありがとうございます。o(^-^)o
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
【ExcelVBA】マクロの入ったシ...
-
ハイパーリンクでジャンプした...
-
エクセルで複数のシートに画像...
-
エクセルのシー名を二段表示に...
-
EXCELの図形(テキストボックス)...
-
特定のシートのみ再計算させな...
-
エクセルの2つのシートを並び...
-
Accessのテーブルを既存のExcel...
-
(エクセル)Indirect関数で、ハ...
-
エクセルで、シートの名前を変...
-
エクセルのシート連番の振り直し
-
エクセルでリンク貼り付けした...
-
Wordで差し込み印刷時に表示す...
-
【Excel VBA】コンボボックスで...
-
エクセルで誤ってF11キーを押す...
-
エクセルシートの下の名前欄が...
-
エクセルマクロでシート名を条...
-
エクセルの複数シートでのリン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
ハイパーリンクでジャンプした...
-
エクセルでブック内の倍率がバ...
-
エクセルで複数のシートに画像...
-
特定のシートのみ再計算させな...
-
【ExcelVBA】マクロの入ったシ...
-
EXCELの図形(テキストボックス)...
-
エクセルのシート連番の振り直し
-
ワークシートそのものの色を変...
-
エクセルの2つのシートを並び...
-
エクセルのシー名を二段表示に...
-
エクセル、特定のシートにパス...
-
Accessのテーブルを既存のExcel...
-
Wordで差し込み印刷時に表示す...
-
EXCELで存在しないシート...
-
自分だけの辞書(データベース...
-
accessへエクセルの複数のシー...
-
Excelでマクロ設定したが反映さ...
-
エクセルの複数シートでのリン...
-
エクセル2003で、複数のシート...
おすすめ情報