私はスクリプト作成に比較的慣れていないため、ここに来て、Excel マクロを作成するための支援を求めました。現在、データの取得と検証を高速化するために Excel ファイルに取り組んでいます。実際のデータを取得する方法についてはわかりません。
現在、すべてのフォルダーと Excel ファイルを含むドライブがあります。
Y:\Audit\Accounting_Data\XXXXX_Company_Names\07 Jul 2013\XXXXX.xls
私にとって最初の問題は、各会社が異なるファイル命名規則でファイルを送信することです。すべての日付が数値の場合もあれば、英数字データの場合もあります (同じ順序ではありません。つまり、DD/MM/YYYY の場合もあれば、MMMM/DD/YYYY の場合もあります)。ファイルの命名規則は他のサービスにも共有されているため、変更できません。最も重要なのは、これらのファイルへの読み取りアクセス権しかないことです。
2 つ目の問題は、各企業が同じ日にファイルを作成しないことです。監査ファイルを毎日生成するものもあれば、平日のみに生成するものもあります (週末用のものは作成され、月曜日の朝に送信されます) >> object.fso を使用して、date.created 基準で最後の 10 個のファイルを取得することを考えていました。それ以上ファイルが見つからない場合、Excel で検索を停止します // 前述のような問題は、いくつかのファイルが同じ日に作成されることです。
また、シート1で定義されたリストに会社を追加または削除できるため、ループ機能を実装しようとしていました(空白のセルに到達すると停止します)。
私が望むのは、現在の月のフォルダーに移動し、以前の 10 個の Excel ファイルを開き、現在のワークシートの特定のセルのデータをコピーして貼り付ける方法です。
これは私が現時点で思いついたものです:
セル A4:A12=ファイル パス (つまり、Y:\Audit\Accounting_Data\XXXXX_Company_Names)
var1=file path
var2=month (numeric)
var3=month
var4=year
Range (a4:a50)
Do Loop till blank cell in Range (a4:a50)
If cell is not blank then
goto "var1\var2+var3+var4\"
Excel is now in Y:\Audit\Accounting_Data\XXXXX_Company_Names\07 Jul 2013\ (hopefully)
今日の日付を基準にして前の 10 個の Excel ファイルを開き、見つからない場合や見つからない場合は停止するように Excel に指示するにはどうすればよいですか?
Copy Data
Paste Data
Move to next line
Repeat the Open 10 previous files / Copy / Paste
else when cell is blank
stop