請有人改進我當前的代碼 - 打開一個框供用戶選擇一個文件,當選擇正確的文件時,它會將數據粘貼到正確的選項卡上。但是,我不知道如何改進它如下:如何改善我現有的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