我正在尝试从空白工作簿中创建一个宏,并且已经打开了另一个工作簿,标题为“数据处理 - 提取工作簿”#34;这将打开指定文件夹中的所有.csv文件并运行宏。我遇到的问题是宏的一部分是从"数据处理 - 提取工作簿"复制大量数据。并将其粘贴到将运行宏的.csv文件中。我遇到的问题是将复制的数据恢复到运行宏的文件中。它似乎与" Windows有关(Mypath& MyFile).Activate"一部分。我已经尝试了几种不同的方法来引用当前打开的.CSV文件,但似乎无法弄明白。任何帮助,将不胜感激。
Sub OpenFiles()
Dim wbk As Workbook
Dim MyPath As String
Dim MyFile As String
'Open Files
MyPath = "C:generic folder"
MyFile = Dir(MyPath & "*.csv")
Do While MyFile <> ""
Set wkb = Workbooks.Open(MyPath & MyFile)
'Run Macro on CSV files
'Copy data from template workbook
Windows("Data process-extract workbook.xlsb").Activate
Application.Goto Reference:="R1C1:R4000C1"
Selection.Copy
'need to figure out how to paste into whatever .csv workbook is currently having the macro run in'
Windows("=wkb").Activate
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.Close True
MyFile = Dir
Loop
End Sub
感谢
答案 0 :(得分:0)
最简单的解决方案是使用您指定的工作簿对象作为CSV文件的引用,即更改
Windows("=wkb").Activate
到
wkb.Activate