1つのExcelファイルに指定された複数ファイル(10ファイル)をシートとして集約する処理について

テーマ、知りたいこと

タイトルの処理について質問です。

悩んでいる事はなるべくコードを増やしたくない事と、なるべく可読性を上げる書き方をしたいと思っている事です。
他の方はどの様なやり方で処理しているのかお聞きしたいです。

条件など

  • シートとして集約する時に、シート名もファイルと同じ名前にリネームします。
  • 指定された複数ファイル(10ファイル)は全て指定フォルダの直下にあります。
  • 指定された複数ファイル(10ファイル)は今後ファイル名が変更される事無く、ファイル名に全く規則性はありません。

思い付いたやり方

指定された10ファイル分の定数を宣言して、配列かDictionaryオブジェクトかCollectionオブジェクトに入れてリスト化して使う

リスト化しておけば存在確認する時もループで対応出来る。
また指定された10ファイルがある階層に他のファイルもあった場合、If文でリスト化したファイルだけ指定して処理出来る。
リスト化すると処理がし易い。

マクロを作成する前にExcelファイル内に参照用のシートを作成しておいて、そのシートに指定された10ファイルのフルパスを記載しておく

コード内でリスト化するのでは無くExcelシート上にリストを作成しておくやり方。
存在確認やIf文での判定の際はExcel上に作成したリストを参照すればやり易い。
またExcelシート上に作成したリストなので、CurrentRegionやUsedRangeで範囲を取得して処理すれば、今後ファイル数が変動してもExcelシート上のリストだけ変更すれば対応出来る。

思い付くのは上記の2例です。
結局リスト化しないとコードが増えて可読性が下がる気がします。

ご意見をよろしくお願いします。

コメントを投稿

0 コメント