
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
シートの色とは何でしょうか?セルの背景色でしょうか?ブック内のすべてのシートのすべてのセルの背景色ですか?一覧にはアドレス(行番号
と列名)と色名を入れるのですか?No.2
- 回答日時:
あなたにマクロが操作できるという前提でお話します
Excelでシートの色を取得して一覧を作成するマクロを作ることができます。以下のVBAコードを使えば、すべてのシートの名前とシートタブの色を一覧化した結果を新しいシートに出力できます。
Sub GetSheetColors()
Dim ws As Worksheet
Dim summarySheet As Worksheet
Dim i As Integer
Dim colorValue As Long
' 結果を出力する新しいシートを作成
On Error Resume Next
Set summarySheet = ThisWorkbook.Worksheets("シート色一覧")
On Error GoTo 0
If summarySheet Is Nothing Then
Set summarySheet = ThisWorkbook.Worksheets.Add
summarySheet.Name = "シート色一覧"
Else
summarySheet.Cells.Clear ' 既存シートの場合クリア
End If
' ヘッダーの設定
summarySheet.Cells(1, 1).Value = "シート名"
summarySheet.Cells(1, 2).Value = "シートタブの色 (RGB値)"
summarySheet.Cells(1, 3).Value = "タブ色 (説明)"
summarySheet.Rows(1).Font.Bold = True
i = 2 ' 出力行を設定
' シートの色を取得
For Each ws In ThisWorkbook.Worksheets
summarySheet.Cells(i, 1).Value = ws.Name ' シート名
' シートの色を取得
colorValue = ws.Tab.Color
If IsEmpty(colorValue) Then
summarySheet.Cells(i, 2).Value = "なし" ' 色なしの場合
summarySheet.Cells(i, 3).Value = "デフォルト色"
Else
summarySheet.Cells(i, 2).Value = colorValue ' 色値
summarySheet.Cells(i, 3).Value = "RGB(" & _
(colorValue Mod 256) & ", " & _
((colorValue \ 256) Mod 256) & ", " & _
(colorValue \ 65536) & ")"
End If
i = i + 1
Next ws
' 列の幅を自動調整
summarySheet.Columns("A:C").AutoFit
MsgBox "シート色一覧を作成しました。", vbInformation
End Sub
マクロの実行手順
1.VBAエディタを開く
Alt + F11 を押してVBAエディタを開きます。
2.新しいモジュールを挿入
メニューの 挿入 → 標準モジュール を選択。
3.コードを貼り付ける
上記のコードを貼り付けます。
4.マクロを実行
VBAエディタを閉じて、Excelに戻り、 Alt + F8 を押して「GetSheetColors」を選択し「実行」をクリック。
実行結果
・新しいシート(または既存の "シート色一覧" シート)が作成され、すべてのシート名とそのタブ色(RGB値)が一覧表示されます。
・色なし(デフォルト色)の場合は「なし」と表示されます。
・RGB値は色の具体的な構成値として記載されます。
このマクロを使うことで、黄色に設定されたシートなども簡単に特定できます。
No.1
- 回答日時:
以下のマクロを使うと、Excelブック内のすべてのシートのタブの色を取得し、それを一覧として出力できます。
このコードは新しいシートにシート名と色の一覧を作成します。Sub GetSheetColors()
Dim ws As Worksheet
Dim reportSheet As Worksheet
Dim i As Long
Dim colorName As String
Dim tabColor As Variant
' 新しいシートを作成してレポートシートとして使う
Set reportSheet = ThisWorkbook.Sheets.Add
reportSheet.Name = "SheetColorsReport" & Format(Now, "yyyymmddhhmmss")
' ヘッダーを設定
reportSheet.Cells(1, 1).Value = "シート名"
reportSheet.Cells(1, 2).Value = "色 (RGB)"
reportSheet.Cells(1, 3).Value = "色 (名前)"
reportSheet.Rows(1).Font.Bold = True
' シート情報を取得
i = 2 ' データ出力行
For Each ws In ThisWorkbook.Sheets
tabColor = ws.Tab.Color
If IsNull(tabColor) Then
colorName = "(未設定)"
Else
colorName = "R:" & Red(tabColor) & " G:" & Green(tabColor) & " B:" & Blue(tabColor)
End If
' シート名と色を出力
reportSheet.Cells(i, 1).Value = ws.Name
reportSheet.Cells(i, 2).Value = tabColor
reportSheet.Cells(i, 3).Value = colorName
i = i + 1
Next ws
' 列の幅を自動調整
reportSheet.Columns("A:C").AutoFit
MsgBox "シート色の一覧が作成されました。", vbInformation
End Sub
' RGB値を分解する関数
Function Red(color As Long) As Long
Red = color Mod 256
End Function
Function Green(color As Long) As Long
Green = (color \ 256) Mod 256
End Function
Function Blue(color As Long) As Long
Blue = (color \ 65536) Mod 256
End Function
使用方法
1. ExcelでAlt + F11 を押してVBAエディタを開きます。
2. メニューで 挿入 > 標準モジュール を選択し、上記コードを貼り付けます。
3. VBAエディタを閉じて、ExcelでAlt + F8を押して GetSheetColors を選択して実行します。
4. 新しいシートにシート名とタブの色情報が出力されます。
出力内容
• シート名: 各シートの名前。
• 色 (RGB): シートタブの色をRGB値で表記。
• 色 (名前): RGB値を「R:xxx G:xxx B:xxx」の形式で表記。また、タブの色が未設定の場合は「(未設定)」と表示。
これでタブの色がすぐに確認できる一覧を作成できます!
上記は生成AIの解答です。
参考になれば幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
【関数】【マクロ】売上X円以上...
-
【マクロ 画像あり】Exact関数...
-
空白処理を空白に
-
同じ名前(重複)かつ 日本 ア...
-
エクセルでフィルターした値を...
-
エクセルシートの見出しの文字...
-
空白のはずがSUBTOTAL関数でカ...
-
excel
-
if関数の複数条件について
-
【マクロ】数式を入力したい。...
-
Excelで4択問題を作成したい
-
Excel 複数のセルが一致すると...
-
Excel 日付の表示が直せません...
-
表計算ソフトでの様式の呼称
-
【マクロ】既存ファイルの名前...
-
【マクロ】エラー【#DIV/0!】が...
-
【マクロ】実行時エラー '424':...
-
エクセルの文字数列関数と競馬...
-
エクセルに写真が貼れない(フ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでフィルターした値を...
-
if関数の複数条件について
-
エクセルシートの見出しの文字...
-
excel
-
エクセルの文字数列関数と競馬...
-
VLOOKUP FALSEのこと
-
同じ名前(重複)かつ 日本 ア...
-
表計算ソフトでの様式の呼称
-
エクセルに写真が貼れない(フ...
-
【マクロ】数式を入力したい。...
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
【画像あり】【関数】指定した...
-
エクセルのVBAで集計をしたい
-
【マクロ】【画像あり】4つの...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
LibreOffice Clalc(またはエク...
-
エクセルのライセンスが分かり...
おすすめ情報