简体   繁体   English

.XLSX的VBA复制表并将其插入.XLA文件

[英]VBA copy sheet from a .XLSX and insert it into a .XLA file

I'm trying to copy a Sheet from a .XLSX file as a hidden sheet in a .XLA file. 我想一个表从一个复制.XLSX文件作为隐藏的工作表中.XLA文件。

I only managed to copy from .XLA -> XLSX , but not XLSX -> XLA . 我只设法从.XLA -> XLSX复制,但没有从.XLA -> XLSX XLSX -> XLA复制。

Take a look at my two functions: 看一下我的两个功能:

Sub copyFromXLAtoXLSX()
    temp.Sheet1.Copy Workbooks(1).Sheets(1)  
End Sub

Sub copyFromXLSXtoXLA()
    ' It gives me the error: Run-time error '1004': Application-defined or object-defined error  
    Workbooks(1).Sheets(1).Copy temp.ThisWorkbook.Sheets(1)  
End Sub

(左)copyFromXLAtoXLSX和(右)copyFromXLSXtoXLA

Any help is really welcome. 任何帮助都非常欢迎。 Thanks! 谢谢!

The XLA sheets collection cannot be accessed for adding a new sheet as long as .IsAddIn=True . 只要.IsAddIn=True就无法访问XLA工作表集合以添加新工作表。 Try to set the XLA workbook to .isAddIn = False , make your copy and then set it back to True . 尝试将XLA工作簿设置为.isAddIn = False ,进行复制,然后将其设置回True

I think it should be (to be tested): 我认为应该(待测试):

Sub copyFromXLSXtoXLA()
    Workbooks(1).IsAddIn = False '<-- set it false
    Workbooks(1).Sheets(1).Copy temp.ThisWorkbook.Sheets(1)  
    Workbooks(1).IsAddIn = True '<-- set it back to true
End Sub

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM