2

私はスクリプト作成に比較的慣れていないため、ここに来て、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
4

1 に答える 1