我创建了一个vba脚本来复制多个pdf文件中的所有数据,并以相同的pdf文件名称粘贴到Excel中的不同选项卡中。
问题是它从pdf文件复制数据并粘贴在工作表的同一选项卡中,一个接一个地替换。请让我在哪里我错了。
最佳答案
您需要先重置wsOutp
,然后再检查是否为空。
如所写,您正在设置wsOutp
以便在初始循环中引用工作表。然后,您必须在下一个循环之前将其重置为空,因为当您尝试将其设置为引用另一个可能不存在的图纸时,如果失败,则引用仍指向原始图纸。所以最终发生的事情是,您在下一步中删除工作表。
因此,实际上您的代码不会覆盖同一张纸,而是要删除创建的每张纸,因此最后只剩下一张纸。
在下面添加行:
' Delete sheet with filename if exists
Set wsOutp = Nothing
On Error Resume Next
Set wsOutp = Sheets(strFile)
On Error GoTo 0
If Not wsOutp Is Nothing Then
wsOutp.Delete
End If