将工作表复制到具有相同工作表名称

时间:2017-08-25 17:29:01

标签: excel-vba vba excel

我是excel vba的新手,并且已经广泛地回答了我的问题。我有3个工作簿,有3个同名的工作表。工作簿是Database,Sample_Request和Sample_List。理论上,当有人请求样本时,他们打开Sample_Request书(从数据库文件中复制数据)会创建一个样本请求记录,并将其邮寄给人们以完成请求。然后执行请求的人打开Sample_List书以记录信息。此文件还复制数据库文件中的数据。满足请求时,在关闭Sample_List文件之前,密钥数据将从Sample_List书籍复制到数据库。但是,代码表示错误,不会复制信息。 以下是打开Sample_List文件时的代码:

Dim wbk1 As Workbook, wbk2 As Workbook
On Error GoTo line1
Set wbk1 = ActiveWorkbook
    ThisWorkbook.Worksheets("SampleList").Unprotect Password:="pass"
    ThisWorkbook.Worksheets("TestLists").Unprotect Password:="pass"
    ThisWorkbook.Worksheets("UserLists").Unprotect Password:="pass"
Set wbk2 = Workbooks.Open("Databasev1.xlsm")
wbk2.Sheets("TestLists").Range("A1:AZ500").Copy Destination:=Workbooks      ("Sample_listv1.xlsm").Sheets("TestLists").Range("A1:AZ500")
wbk2.Sheets("UserLists").Range("A1:AE500").Copy Destination:=Workbooks("Sample_listv1.xlsm").Sheets("UserLists").Range("A1:AE500")
wbk2.Sheets("SampleList").Range("A1:AL100000").Copy Destination:=Workbooks("Sample_listv1.xlsm").Sheets("SampleList").Range("A:AL")

wbk2.Close False

    ThisWorkbook.Worksheets("SampleList").Protect Password:="pass"
    ThisWorkbook.Worksheets("TestLists").Protect Password:="pass"
    ThisWorkbook.Worksheets("UserLists").Protect Password:="pass"

Then when getting ready to close this is the code I use:

    Dim wbk1 As Workbook, wbk2 As Workbook
On Error GoTo line1
    Set wbk1 = ActiveWorkbook
        ThisWorkbook.Worksheets("UserLists").Unprotect Password:="pass"
    Set wbk2 = Workbooks.Open(“Databasev1.xlsm”)
        wbk2.Worksheets("UserLists").Unprotect Password:="pass"
    wbk1.Sheets("UserLists").Range("A1:AE500").Copy Destination:=Workbooks(“Databasev1.xlsm”).Sheets("UserLists").Range("A1:AE500")
        wbk2.Worksheets("UserLists").Protect Password:="pass"

    wbk2.Close False

        ThisWorkbook.Worksheets("UserLists").Protect Password:="pass"

注意:两个代码都位于不同的用户表单中,我使用UIeditor调用了这些用户表单。 我做什么或做错了什么?

0 个答案:

没有答案
相关问题