请有人改进我当前的代码 - 打开一个框供用户选择一个文件,当选择正确的文件时,它会将数据粘贴到正确的选项卡上。但是,我不知道如何改进它如下:如何改善我现有的GetOpenfile函数代码
1)我可以在代码中指定目标文件的名称(成本),因此它只能在该文件上工作吗?目前用户可以选择任何文件,它会查找表单名称“SAP”,如果它找不到它不起作用 - 进入调试模式 - 我希望它给出消息“宏将立即结束因为你没有选择正确的文件“。
2)与上面的1相同,但是现在的消息是“现在宏将结束,因为文件中没有SAP表单”。选择正确的文件后会出现此消息,但没有SAP表格。
2)删除目标中的现有的数据“SAP”片在给定的范围(我一定的时刻的正确码?)
3)当用户点击取消(因为不想要继续)出现一条消息,子结束 - “宏将结束,因为您没有选择文件”
谢谢!
'Set source workbook
Set wb = ActiveWorkbook
'Open the target workbook
vFile = Application.GetOpenFilename("Excel-files,*.xlsm", 1, "Please select file", , False)
Set wb2 = ActiveWorkbook
'clear existing values form target book
wb2.Worksheets("SAP").Range("A:N").ClearContents
'Copy/paste the visible data to the new workbook
wb.Worksheets("sheet1").Cells.SpecialCells(xlCellTypeVisible).Copy
wb2.Worksheets("SAP").Range("A1").PasteSpecial Paste:=xlPasteValues
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Windows("Format MCP6 Final.xlsm").Close
非常感谢,非常感谢! – Zakky