我提前为这么长的描述道歉。我希望我能够解释我的查询,因为它是一个奇怪的问题。另外,我是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
提前感谢您的帮助!!