Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
excelvba为一个新的_Excel_Vba - Fatal编程技术网

excelvba为一个新的

excelvba为一个新的,excel,vba,Excel,Vba,我对vba编码相当陌生,我对如何在工作表之间导航很感兴趣。我有一个包含一张工作表的工作簿,该工作表被复制到一个新工作簿中,以便在不损坏原始工作表的情况下进行编辑。我遇到的问题是,在创建新工作簿时,我需要从第三个工作簿复制信息并粘贴到新工作簿中。我试过很多方法,但都没能解决。我认为问题在于这本新书没有名字,只有一本书,所以一旦我离开去激活另一本书,我就没有一条可靠的返回途径 很抱歉,没有一个实际的例子。我根据收到的回复添加了前两行 Dim wb As Workbook Set wb

我对vba编码相当陌生,我对如何在工作表之间导航很感兴趣。我有一个包含一张工作表的工作簿,该工作表被复制到一个新工作簿中,以便在不损坏原始工作表的情况下进行编辑。我遇到的问题是,在创建新工作簿时,我需要从第三个工作簿复制信息并粘贴到新工作簿中。我试过很多方法,但都没能解决。我认为问题在于这本新书没有名字,只有一本书,所以一旦我离开去激活另一本书,我就没有一条可靠的返回途径

很抱歉,没有一个实际的例子。我根据收到的回复添加了前两行

    Dim wb As Workbook
    Set wb = ActiveWorkbook

' Open the 3rd workbook & copy
    Workbooks.Open ("Z:\Terms And Conditions.xlsx")
    Windows("Terms And Conditions.xlsx").Activate
    ActiveSheet.Shapes.Range(Array("Picture 4")).Select
        Selection.Copy

' Return to wb and paste
    ActiveWorkbook(wb).Activate    'The code is stopping here
    Worksheets("Sheet1").Activate
    Range("A534").Select
    ActiveSheet.Paste

查看一些代码会有所帮助,但如果您只是复制工作表以创建新工作簿,则可以存储对activeworkbook的引用

dim wb as workbook
set wb = activeworkbook

然后根据需要参考代码后面的wb

工作簿有一个位置(在磁盘上),因此您应该能够使用它只是wb.activate