【发布时间】:2016-10-27 23:33:46
【问题描述】:
我对堆栈进行了研究,但无法准确找到我需要的内容或足够接近来编辑代码。我对 VBA 很陌生。
我在一个目录中有一堆(> 100 个文件).csv 文件。文件名与此格式一致:customer_id-inventory_id.forecast.csv。
例如:12345678-111111.forecast.csv; 12345-222.forecast.csv; ...等
这些文件只有两列日期和预测。我想将文件名中的 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 自动执行此操作,对吗?或者您只想在文件的子集上运行该宏?顺便说一句,处理文件名信息的总是
C和D列? -
@RCaetano。是的,希望它自动将 .csv 文件名提取到相应的文件中。我也在运行宏/vba。
-
@RCaetano 是的,只有 C 和 D。所有的文件内容格式都是一样的。
-
所提供的解决方案是否对您有用或您需要更多帮助?
-
@Rcaetano 还不确定。我正在运行测试,但我不断收到错误,因此试图修复它。