在不同Excel文件表内容,为什么不能进行粘贴
在不同Excel文件表内容,为什么不能进行粘贴?
我在VB中打开两个Excel文件,
''''''要复制的Excel文件1的一个表
With xlSheet
.Range(.Cells(2, 1), .Cells(7, 1).Copy
End With
'''''要粘贴的Excel文件2的一个表
With xlDestSheet
.Range(.Cells(2, 2), .Cells(7, 2)).Paste
End With
为什么执行到 .Range(.Cells(2, 2), .Cells(7, 2)).Paste 的时候,提示对象不支持该方法或属性!!
[解决办法]
Option ExplicitPrivate Sub Command1_Click() Dim objApp As Object Dim objWBook As Object Dim objSheet As Object Dim objWBook2 As Object Dim objSheet2 As Object Set objApp = CreateObject("Excel.Application") Set objWBook = objApp.Workbooks.Add Set objSheet = objWBook.Sheets("Sheet1") objSheet.Range("A1").Formula = "dkdkfei" objSheet.Range("A2").Formula = "KSLEI" objSheet.Range("A3").Formula = "akkfk3838" objSheet.Range("A4").Formula = "eirijnf" objSheet.Range("B1").Formula = "dkahFjk" objSheet.Range("B2").Formula = "430d0eka" objSheet.Range("B3").Formula = "*3FSE03sJFTFasa" objSheet.Range("B4").Formula = "sksjjs;ei;as" objSheet.Range("C1").Formula = "pqpdiwkd" objSheet.Range("D2").Formula = "sffeEF sdjei" objSheet.Range("C3").Formula = "SFEE" objSheet.Range("D4").Formula = "13e55sf1" objSheet.Range("E5").Formula = "KDfeEFsdkd" objSheet.Range("A1:E5").Font.ColorIndex = 3 objSheet.Range("B:B").Font.ColorIndex = 9 objSheet.Range("A1:E5").Copy '这里在同一张表中粘贴 objSheet.Cells(6, 2).PasteSpecial Paste:=-4163, Operation:=-4142, SkipBlanks:=False, Transpose:=False objWBook.saved = True objApp.Visible = True Set objWBook2 = objApp.Workbooks.Add Set objSheet2 = objWBook2.Sheets("Sheet1") '这里在另一工作薄的另一张表中粘贴 objSheet2.Cells(3, 1).PasteSpecial Paste:=-4163, Operation:=-4142, SkipBlanks:=False, Transpose:=False objWBook2.saved = True MsgBox "执行完成!", 64 Set objSheet = Nothing Set objWBook = Nothing Call objApp.quit Set objApp = Nothing Unload Me End Sub
[解决办法]
两个 Excel.Application 实例就有两个 Excel 进程,相互之间的对象是不可见的。
的确应该在一个 Application 下操作。