我需要一个VBA,它在那个特定的“excel文件”内更新“excel文件的名称”。该文件夹中有12个文件。此文件夹的路径是D:\ Amit。这12个文件的名称是“从午夜开始的现金报告”(这就是为什么0000Hrs),并且它增加了2个小时使它成为0200Hrs,0400Hrs等。我们每2小时后每天准备这些文件。有时候确实发生了,我们在3小时后运行该文件,使其在0500Hrs之后运行,而不是0200Hrs之后的0400Hrs。我需要的是一个VBA文件,它可以打开所有这12个文件,并在每个文件最后一行的A列中提到该特定文件的名称。例如,它应该打开所有12个文件,然后在名为Cash Report的第一个文件中显示为11-05-2017,在此文件的A列的最后一行中 - 应该提及此特定文件的名称。使用VBA的Excel文件单元格内文件的名称
因此,如果VBA打开文件“Cash Report as on 11-05-2017 0400Hrs”,那么在列A的最后一个单元格紧跟着单元格中的文本或数据之后,使用偏移量非常小的空白单元格应该有该文件的名称为“11-05-2017 0000Hrs的现金报告”。同样,需要这样的所有文件,打开每个单独的文件,并更新列A的最后一行内的相应文件名。
我正在尝试一些代码,但它仍然是零散的。
Dim Source As String
Dim StrFile As String
'do not forget the last backslash in the source directory.
Source = "C:\Users\Admin\Desktop\VBA\"
StrFile = Dir(Source)
Do While Len(StrFile) > 0
Workbooks.Open Filename:=Source & StrFile
StrFile = Dir()
Loop
fldr = Activeworkbook.Path
Dt = Application.InputBox("Enter Date as 'dd-mm-yyyy' ", format(Now," dd-mm-yyyy"
Workbooks.open Filename:= fldr & "\Cash Report as on" & 0400 & "Hrs.xlsx"
Range("A1").End(xlDown).Select
Offset(1).Select
非常感谢@nightcrawler,编码给了我新的东西来学习。开心:) – Amit