【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
バックナンバー
この記事が気に入ったらサポートをしてみませんか?