[英]how to create a loop to open specific file and save to specific tab for each loop
I am trying to create a loop to open specific file and save to specific tab for each loop.我正在尝试创建一个循环来打开特定文件并保存到每个循环的特定选项卡。
loop 1, open file1 then save to sheet1循环 1,打开 file1 然后保存到 sheet1
loop 2, open file2 then save to sheet2循环2,打开file2然后保存到sheet2
loop 3, open file3 then save to sheet3循环 3,打开 file3 然后保存到 sheet3
But code below is doing looping nine times.但是下面的代码正在循环九次。
Loop1, open file1 then save to sheet1 Loop1,打开file1然后保存到sheet1
Loop2, open file2 then save to sheet2 Loop2,打开file2然后保存到sheet2
Loop3, open file3 then save to sheet3 Loop3,打开file3然后保存到sheet3
Etc… ETC…
Sub Clear_Import()
Dim daily_download As String
Dim minutely_download As String
Dim hourly_download As String
ws = Range("ws")
Dim SpreadSheets(2) As String
Dim s As Integer
SpreadSheets(0) = "daily"
SpreadSheets(1) = "minutely"
SpreadSheets(2) = "hourly"
Dim Download_Filenames(2) As String
Dim f As Integer
Download_Filenames(0) = Range("Daily_download")
Download_Filenames(1) = Range("minutely_download")
Download_Filenames(2) = Range("hourly_download")
For f = LBound(Download_Filenames) To UBound(Download_Filenames)
For s = LBound(SpreadSheets) To UBound(SpreadSheets)
Sheets(SpreadSheets(s)).Select
Columns("A:AA").Select
Selection.ClearContents
Workbooks.Open (Download_Filenames(f))
ActiveSheet.Range("a1").CurrentRegion.Select
Selection.Copy
Workbooks(ws).Activate
Sheets(SpreadSheets(s)).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Workbooks.Open (Download_Filenames(f))
ActiveWorkbook.Close
Next s, f
This is happening because you are looping both the array of spreadsheets and files nested within each other.发生这种情况是因为您正在循环电子表格数组和相互嵌套的文件。 As the number of sheets is meant to equal the number of files, you only need to loop one array, and use the same loop counter for both the file name and spreadsheet:
由于工作表的数量等于文件的数量,您只需要循环一个数组,并为文件名和电子表格使用相同的循环计数器:
For f = LBound(Download_Filenames) To UBound(Download_Filenames)
Sheets(SpreadSheets(f)).Select
Columns("A:AA").Select
Selection.ClearContents
Workbooks.Open (Download_Filenames(f))
' etc.
Next f
Regards,问候,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.