dポイントプレゼントキャンペーン実施中!

シートを3つ選択し、タブの色を一括で変えようと思い、ネットで調べた方法を組み合わせたのですが、コンパイルエラーになります。(Tabが黄色にマークされます)


Sub 問題シートタブの色を3にする()

Sheets("問題1").Select False
Sheets("問題2").Select False
Sheets("問題3").Select False
ActiveWindow.SelectedSheets.Tab.ColorIndex = 3

End Sub

ActiveWindow.SelectedSheetsのあとに、Tab.ColorIndex = 3を続けてはいけないのでしょうか?

A 回答 (1件)

こんばんは


オブジェクトブラウザーで確認すると
Tab は Worksheetメンバーで Worksheets 、Sheets のメンバーではないようなので シートオブジェクトすべてに対してまとめて設定する事は出来ないようです。
WindowのメンバーであるSelectedSheetsはSheetsクラスなのでTabはありません。
ロジック的に出来ないと言う事になると思いますので
変えたいシートに対してシート名などでループ処理をするしかないようです。
Sub 問題シートタブの色を3にする()
Dim sh As Variant
For Each sh In Array("問題1", "問題2", "問題3")
Worksheets(sh).Tab.ColorIndex = 3
Next
End Sub
実行後にシートタグが選択されていて"問題3"シートがアクティブである必要がある場合は、Nextの後にシート選択コードを書く必要がありますね。
    • good
    • 0

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