如何解决为什么最后一个文件是 vba 中每个文件的第一个文件?
我想使用 vba 宏将文件和子文件夹列出到 Excel 工作表中。列表正在运行,但最后一个文件夹的最后一个文件移动到列表中实际文件夹的第一个位置。
这是代码:
If selectedFolder.Files.Count = 0 Then
For Each origSubFolder In selectedFolder.SubFolders
'Create backup subfolder
copiedSubFolder = copiedFilesDir & "\" & origSubFolder.Name & affix
fso.CreateFolder copiedSubFolder
'Recording folders to Excel file
rfSht.Range("C" & r).Value = origSubFolder
rfSht.Range("M" & r).Value = copiedSubFolder
r = r + 1
For Each File In origSubFolder.Files
'Save As original files as xlsx
fileName = fso.GetFileName(File)
fileNamewoext = Left(fileName,(InStrRev(fileName,".",-1,vbTextCompare) - 1))
'fileNamewoext = Left(fileName,InStr(fileName,".") - 1)
fileNameWAffix = fileNamewoext & affix
Set owb = Workbooks.Open(File)
owb.SaveAs fileName:=copiedSubFolder & "\" & fileNameWAffix,FileFormat:=51
ActiveWorkbook.Close
'Recording files to Excel file
rfSht.Range("D" & r).Value = File
rfSht.Range("N" & r).Value = copiedSubFolder & "\" & fileNameWAffix & ".xlsx"
r = r + 1
Next
Next
MsgBox "Task completed",vbinformation
Else
我一直在寻找 for each 循环或“r=r+1”中的问题,但总是得到这个。你能帮我吗?
解决方法
您可以做两件事 1 在 VBA 上对数组中的输出进行排序,然后打印该数组。否则你也可以在excel上对输出进行排序。我会推荐第一个。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。