作業シート作成VBA
完成形イメージ
コード
Sub 作業用シート作成() ' シートのすべてのセルの幅を設定 Cells.ColumnWidth = 2.2 ' 見出しのスタイルと値を設定 With Range("A1") .Style = "見出し 1" .Value = "1" End With With Range("B1") .Style = "見出し 2" .Value = "2" End With With Range("C1") .Style = "見出し 3" .Value = "3" End With With Range("D1") .Style = "見出し 4" .Value = "4" End With ' 疑問のセルを設定 With Range("G1") .Value = "疑問" .Style = "どちらでもない" End With ' Todoのセルを設定 With Range("J1") .Value = "Todo" .Style = "悪い" End With ' 解決のセルを設定 With Range("M1") .Value = "解決" .Style = "良い" End With ' 2行目を固定 Rows("2:2").Select ActiveWindow.FreezePanes = True ' A2セルにシート名を出力 Range("A2").FormulaR1C1 = "=MID(CELL(""filename"",R1C1),FIND(""]"",CELL(""filename"",R1C1))+1,99)" ' A2セルのスタイルを"見出し 1"に変更 Range("A2").Style = "見出し 1" ' 最後にA2セルを選択 Range("A2").Select End Sub
シート名表示のところの補足
FormulaR1C1
プロパティは、R1C1
形式の参照を使った数式を設定するためのプロパティです。
R1C1
形式は、行番号と列番号をR(行)とC(列)で表現する形式で、A1
形式とは異なります。
例えば、A1
形式のセル参照A1
は、R1C1
形式ではR1C1
と表されます。
A1
形式では、A
が1列目を示し、1
が1行目を示します。
一方、R1C1形式では、R1
が1行目を示し、C1
が1列目を示します。
このため、以下の数式で使用されているA1をR1C1形式に変換する必要がありました。
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,99)
この数式をR1C1形式に変換すると、以下のようになります。
=MID(CELL("filename",R1C1),FIND("]",CELL("filename",R1C1))+1,99)
この変換により、数式がFormulaR1C1プロパティを使って適切に設定されます。