名称未設

【ExcelVBA公開模試】シート名を1月~12月、4月~3月にする

文法を無視して、とりあえず動けばいいという邪道ExcelVBA講座こと「速読VBA単語」に準拠した問題を出題します。

問題

次の図1のように12枚のシートがあります。ExcelVBAを用いて次の処理をしなさい。
(1)シート名を1月~12月に変更しなさい(図2)。
(2)図2の状態で、さらに、シート名を4月~3月に変更しなさい(図3)。

<図1>

<図2:設問(1)完成イメージ>

<図3:設問(2)完成イメージ>

わえなび式 正解例

(このページの下にあります)

目標回答時間

プロ2分以内、アマチュア5分以内に処理ができたら合格

この問題の出題範囲

「速読VBA単語」Program3-4まで

ご案内

ExcelVBAをなんとなく理解できればいいという初心者のための「速読VBA単語」を受講希望の方はカリキュラムをご覧ください。

正解例

設問2は、4月~12月と1月~3月でFor文を2つに分けて考えると分かりやすくなります。

なお、1枚目のシートを「4月」にするときに、すでに4枚目のシート名が「4月」なのでエラーになります。重複するシート名はつけられません。そこで、12枚のシート名をあらかじめ、別のもの(1~12とか Sheet1~Sheet12 とか…)に変更しておく必要があります。

Sub kakko1()
   For i = 1 To 12
       Sheets(i).Name = i & "月"
   Next
End Sub

Sub kakko2()
    For i = 1 To 12
        Sheets(i).Name = i
    Next
    For i = 4 To 12
        Sheets(i - 3).Name = i & "月"
    Next
    For i = 1 To 3
        Sheets(i + 9).Name = i & "月"
    Next
End Sub

バックナンバー


この記事が気に入ったらサポートをしてみませんか?