2017-07-03 79 views
1

我试图做一个宏,让我直接放弃这一非常常用的工作表到我们需要的文件。这是这是一种常用的工作表,我希望能够快速轻松地插入现有文档以便经常复制和使用。复制启用宏的工作表从一个工作簿到另一个“运行时错误‘1004’”

我收到:运行时错误“1004”:Excel不能访问“垃圾”。该文件可能是只读或加密的。

该代码是从在堆栈溢出另一溶液改性,以便被上祝任何文件全球使用。 (这是最终的目标在这里)代码如下:

Sub foo() 
Dim x As Workbook 
Dim y As Workbook 
Dim z As String 
z = ActiveWorkbook.Path 

Dim WS As Worksheet 
Sheets.Add.Name = "Finance" 

'## Open both workbooks first: 
Set x = Workbooks.Open("Desired worksheet file path") 
Set y = Workbooks.Open(z) 

'Now, copy what you want from x: 
x.Sheets("Finance1").Range("A1:G12").Copy 

'Now, paste to y worksheet: 
y.Sheets("Finance").Range("A1:G12").PasteSpecial 

'Close x: 
x.Close 

End Sub 

在错误点两份文件都是开放的。

回答

1

ActiveWorkbook.Path给出了activeworkbook的路径,你应该添加文件给它。就像这样:

Set y = Workbooks.Open(z & "\fileSample.xlsx")

有一个错误一个进一步的选项 - 如果不保存ActiveWorkbook,那就不是返回任何东西。因此,检查它是这样的: If len(activeworkbook.path)>0 then

+0

将这项工作自动化目的:Z = ActiveWorkbook.Path& “\” –

+0

N = ActiveWorkbook.Name –

+0

集合Y = Workbooks.Open(Z&N) –

1

Thec代码将是这样的。

Sub foo() 
    Dim x As Workbook 
    Dim y As Workbook 
    Dim z As String, FileName1 As String, FileName2 As String 

    z = ThisWorkbook.Path & "\" 

    Dim WS As Worksheet 
    FileName1 = "test1.xlsx" 
    FileName1 = "test2.xlsx" 
    '## Open both workbooks first: 
    Set x = Workbooks.Open(z & FileName1) 
    Set y = Workbooks.Open(z & FileName2) 

    'Now, copy what you want from x: 
    x.Sheets("Finance1").Range("A1:G12").Copy y.Sheets("Finance").Range("A1") 

    x.Close 

End Sub 
+0

这会是好为我的代码? Z = ActiveWorkbook.Path& “\” N = ActiveWorkbook.Name 昏暗WS作为工作表 Sheets.Add.Name = “财经” “##打开这两个工作簿第一: 集X = Workbooks.Open (“\\\\ tehis6803 \ Wafer_Processing \ Excel Macro,VBA&Immobile Documents \ reference \ Wafer Cost Analysis January2016.xlsm”) Set y = Workbooks.Open(z&n) '现在,复制你想要的x: x.Sheets(“Finance1”)。Range(“A1:G12”)。复制 '现在,粘贴到y工作表: y.Sheets(“Finance”)。Range(“A1:G12”) .PasteSpecial –

+0

Tha t没有那么好。我基本上加入这样的:(Z = ActiveWorkbook.Path& “\” N = ActiveWorkbook.Name) –

+0

除了:设置Y = Workbooks.Open(Z&N) –

相关问题