私はスタックを研究しましたが、私が必要とするものを正確に見つけることができず、コードを編集するのに十分なほど近くにありませんでした。私はVBAにはかなり新しいです。VBAはファイル名からセルに行を追加します
ディレクトリに.csvファイルの束(> 100ファイル)があります。ファイル名は、customer_id-inventory_id.forecast.csvの形式と一貫しています。
例:12345678-111111.forecast.csv; 12345-222.forecast.csv; ...など
これらのファイルには、日付と予測の列が2つしかありません。私は各ファイルのこれらのセルにファイル名からcustomer_idとinventory_idを持ち込みたいと思います。元のファイルをご覧ください:
12345-222.forecast.csv;
出力ファイルCUSTOMER_IDとinventory_dにもたらしました。これをVBAでどのように書くのですか?ありがとう!
は、私が試した:VBA - Excel Append Every Active Row With File Name
Dim LastRow As Long
Dim LastColumn As Long
Sub InsertFileName()
Application.ScreenUpdating = False
Dim i As Long
LastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
For i = 1 To LastRow
LastColumn = ActiveSheet.Cells(i, ActiveSheet.Columns.Count).End(xlToLeft).Column
ActiveSheet.Cells(i, LastColumn + 1) = "=CELL(""filename"")"
Next i
Application.ScreenUpdating = True
End Sub
これは任意のファイル名を生成されていません。
すべてのCSVのために自動的にそれをやりたいですよね?または、そのマクロをファイルのサブセットでのみ実行したいですか? Btw、それは常にファイル名情報を扱う 'C'と' D'列でしょうか? – RCaetano
@RCaetano。はい、自動的に.csvファイル名をそれぞれのファイルに取り込みます。私はマクロ/ vbaも実行しています。 – sharp
@RCaetanoはい、それはCとDのみです。すべてのファイルのコンテンツ形式は同じです。 – sharp