如何使用VBA替换图纸?
我想从工作簿复制一张工作表,并将其粘贴到活动工作簿的第二张工作表中。我是vba新手,看起来并不难,但我的代码不起作用。复制的工作表在新工作簿中打开,而不是在活动工作簿中打开 谢谢你的帮助 我的代码:如何使用VBA替换图纸?,vba,excel,Vba,Excel,我想从工作簿复制一张工作表,并将其粘贴到活动工作簿的第二张工作表中。我是vba新手,看起来并不难,但我的代码不起作用。复制的工作表在新工作簿中打开,而不是在活动工作簿中打开 谢谢你的帮助 我的代码: Sub copyPaste() Dim classeur1 As Excel.Workbook Dim classeur2 As Excel.Workbook Set classeur1 = Workbooks.Open("Macintosh HD:Users:LouiseDhain
Sub copyPaste()
Dim classeur1 As Excel.Workbook
Dim classeur2 As Excel.Workbook
Set classeur1 = Workbooks.Open("Macintosh HD:Users:LouiseDhainaut:Documents:Stage:test_modifiable.xlsx")
Set classeur2 = ThisWorkbook
classeur1.Sheets(1).Copy
classeur1.Sheets(1).Paste Destination:=ThisWorkbook.Sheets(2).Range("A1")
classeur2.Save
classeur1.Close
End Sub
尝试:
而不是
classeur1.Sheets(1).Copy
classeur1.Sheets(1).Paste Destination:=ThisWorkbook.Sheets(2).Range("A1")
尽管请注意,复制整个工作表将复制整个工作表,而不仅仅是它的内容
如果希望仅复制内容,则需要其他代码,例如:
classeur1.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(2).Range("A1")
尝试:
而不是
classeur1.Sheets(1).Copy
classeur1.Sheets(1).Paste Destination:=ThisWorkbook.Sheets(2).Range("A1")
尽管请注意,复制整个工作表将复制整个工作表,而不仅仅是它的内容
如果希望仅复制内容,则需要其他代码,例如:
classeur1.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(2).Range("A1")
复制使用的范围,而不是工作表本身。Copy命令不是您想要的Ctrl-c。它有参数
Sheet1.Copy Before:Thisworkbook.Sheets(2)
@Vacip yes如果您没有指定之前或之后,您是对的,Microsoft Excel创建一个新工作簿,其中包含复制的工作表对象,该工作表对象包含从使用范围而不是工作表本身复制的工作表对象。.Copy命令不是您所想到的Ctrl-c。它有参数Sheet1.Copy Before:Thisworkbook.Sheets(2)
@Vacip yep您是对的如果您没有指定之前或之后,Microsoft Excel将创建一个新工作簿,其中包含复制的工作表对象,该工作表对象包含复制的工作表对象
,根据您的建议,我只复制了内容,并且工作正常。谢谢你的回答!没问题,很高兴我能帮忙。:)请考虑将其标记为已接受答案(答案的勾标)。谢谢按照你的建议,我只复制了内容,而且效果很好。谢谢你的回答!没问题,很高兴我能帮忙。:)请考虑将其标记为已接受答案(答案的勾标)。谢谢