人生のプチ美学を教えてください!!

お世話になります。VBA初心者です。
複数ブックをシートごとにデータをマージするソースコードで、
以下部分の動きがなぜ必要なのかがわかりません。
新しいブックに、既存ブックと同じシートを作っていくのですが、作成したあとに余分なシートを削除する、とあります。
余分なシートが作成されるケースが思い浮かばないのですがどんな場合でしょうか。

よく、VBAのコードを見ていると、
0を代入し初期化したり、clear.contentsなどと、なにか処理を始める前に、きれいにするような動きを見かけます。これらも意味がよくわからないのですが、以下のケースも、何かを新たに作成したら、セットで余分な何かを削除するような動きを入れるものなのでしょうか?

ずっと考えているのですがよくわかりません。
どなたか教えていただけないでしょうか?


'新規ブック及びシートの作成
sheet_names = Array("Sheet1", "Sheet2", "シート1", "シート2")
Set twb = Workbooks.Add
'全てのシートを作成する
For i = 0 To UBound(sheet_names)
Call add_sheet(twb, sheet_names(i))
Next
'余分なシートを削除する
For i = twb.Worksheets.count To 1 Step -1
sh_name = twb.Worksheets(i).Name
Call del_sheet(twb, sh_name, sheet_names)
Next

質問者からの補足コメント

  • 取得するシートの見出しの例となります。

    「Excel VBA シートを追加後に余分」の補足画像1
      補足日時:2022/05/20 10:35
  • つらい・・・

    私の力不足で、エラー回避ができないため大変恐縮ですが、別の方法を探りたく投稿をさせていただきました。
    https://oshiete.goo.ne.jp/qa/12957037.html

      補足日時:2022/05/20 14:26

A 回答 (21件中21~21件)

このコードを書いた人に質問してください。

    • good
    • 1
この回答へのお礼

ありがとうございます。聞けないのでここで質問しております。

お礼日時:2022/05/19 23:00

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