この私は、次のコードこと:VBAディレクトリにインポートデータは、全てのスプレッドシートから一定の基準を満たす
Public Function Import_Multi_Excel_Files()
Dim InputFile As String
Dim InputPath As String
InputPath = "L:\Directory\To\Project\Data\"
InputFile = Dir(InputPath & "*.xls*")
worksheetName = "WorksheetThatHasData!A:H"
Do While InputFile <> ""
DoCmd.TransferSpreadsheet acImport, , "Table_1", InputPath & InputFile, -1, worksheetName, True '< The true is for column headers
InputFile = Dir
Loop
End Function
上記コードがある(各ワークブック内の特定のワークシートからのデータのすべてをつかんされ良い)とそれをMS Accessにインポートします。しかし、私は、今月のレポートの日付は、現在の月と前月を常に含むことに気付きました。すべてのファイル名の形式はReport-YYYYMMです。私が蹴っているアイデアは、ファイル名のYYYYMM部分を見て、対応する日付のデータだけを取得するものです。
編集および追加
以下Actuarial_Report-201705
Enrollment_Report-201705
上記レポートの各月と4月からの情報を含むプレミアム-DATA-201705。しかし、前月のレポートには、4月から3月までのデータが明らかに含まれています。何が起こっているのは、私がインポートしたすべてのデータが登録、保険料、保険数理情報を2回カウントしたことです。私は、201705のレポートから201705のデータを取り出し、そのコードが201704の情報を無視するようにしたいだけです。
いくつかのサンプルファイル名(拡張子)を入力してください。また、あなたの質問をもっと明示してください。あなたは月と年を隔離した後、正確に何をしたいですか? –
あなたが蹴っているアイデアは良いものです。このアイデアを実装するためにこれまでに試したコードを投稿してください。ここには、どこに行き詰まっているのか、エラーメッセージなどの不具合の説明が簡単に記載されています。 –
@ErikvonAsmuth私は質問を下に追加しました。レポートにファイル名に201705という日付がある場合は、2017-05の情報のみがコピーされます。ファイル名の形式はすべてYYYYMM形式で、ワークブック内には列BにYYYY-MMという形式の日付が入ります。 – emka