我想将sheet1的一个单元格(D1)复制到所有工作簿其他工作表的其他工作表的单元格(D1)(我正在这里循环查看文件,工作表数量会发生变化)。VBA从一张纸复制/粘贴到所有其他
运行下面的代码时,行“ActiveSheet.Paste”给我以下错误:“运行时错误'10004':Worksheet类的粘贴方法失败”。
这里是有问题的代码:
'copy MSA code to sheets!=1
Sub MSAallSheets(wb As Workbook)
With wb
Range("D1").Copy
For Each ws In wb.Worksheets
If ws.Name <> "Page 1" Then
ws.Activate
ws.Range("D1").Select
ActiveSheet.Paste
End If
Next
End With
End Sub
在情况下,它可能是必要的,这是我如何通过文件中定义我的循环:
Dim Filename, Pathname As String
Dim wb As Workbook
Pathname = "C:\Users\julia.anderson\Documents\HMDA\test\"
Filename = Dir(Pathname & "*.xlsx")
Do While Filename <> ""
Set wb = Workbooks.Open(Pathname & Filename)
DoWork wb
Delete wb
MSAallSheets wb
wb.Close SaveChanges:=True
Filename = Dir()
Loop
End Sub
建议将是最受欢迎的!
谢谢。
欢迎来到SO!只是一个提示:'With wb'块没有用处和混淆,你没有使用与你一起使用的对象变量,删除它只会提高可读性。并且随时修复你的缩进,我试图编辑它,但是我的编辑被拒绝,因为“这个编辑不正确,或者试图回复或评论现有的文章。”,一个邪恶的独角兽说*真的*知道他的东西。所以我想我会留下评论然后... –