excel中的表单按钮在从另一个工作表复制粘贴数据时更改其位置

时间:2017-05-29 13:25:52

标签: excel vba excel-vba copy-paste

我提前为这么长的描述道歉。我希望我能够解释我的查询,因为它是一个奇怪的问题。另外,我是VBA的新手。

我的vba代码从另一个工作簿复制数据并将其粘贴到当前工作簿中。但是每次我这样做时,我用来调用这个宏的表单按钮都会消失,我必须从开发人员工具栏中调用宏。我放在当前工作表中的其他按钮会更改其位置。我希望当前工作表中的按钮不受此影响。 我将数据复制到列#“I'只有这样我才能确保将按钮放在该列之后。这是我的代码:

    Sub Main_Sub()
        On Error GoTo ErrHandler
        Application.ScreenUpdating = False

    BOM 'Calling the function BOM()    
    ErrHandler:
        Application.EnableEvents = True
        Application.ScreenUpdating = True
        Debug.Print Err.Description
     End Sub


     ''wb1 is current worksheet and wb2 is worksheet I am getting the data from

     Function BOM()
        pathString = Application.GetOpenFilename("Excel files (*.xlsx),*.xlsx", , "Select a file", , False)
        Set wb2 = Workbooks.Open(pathString)
        Application.CutCopyMode = False
        wb2.Activate
        strName1 = ActiveSheet.Name
        LastRow1 = Range("A65000").End(xlUp).Row
        wb2.Sheets(strName1).Range("A1:I" & LastRow1).Copy
        wb1.Activate
        wb1.Sheets("Sheet1").Range("A1").PasteSpecial
        wb2.Close
        wb1.Activate
        'To remove redundant rows
         Rows("1:5").Select
         Selection.Delete Shift:=xlUp
        Range("A:A,D:D,E:E,F:F,G:G,H:H,I:I").Delete
        Set myRange = Worksheets("Sheet1").Range("c1:c" & lastrow)
         myRange.Formula = "=iferror(VLOOKUP(A1,[Database.xlsm]Sheet1!A$2:$E$34067,5,FALSE),""Match Not Found"")"
        myRange.Font.Bold = True
        myRange.Font.Color = RGB(255, 0, 0)

        Set wb2 = Nothing
        Set wb1 = Nothing
    End Function

提前感谢您的帮助!!

0 个答案:

没有答案