Bitte kann jemand meinen aktuellen Code verbessern - öffnet eine Box für den Benutzer, um eine Datei auszuwählen, und wenn die richtige Datei ausgewählt ist, fügt sie die Daten zur richtigen Registerkarte. Ich bin mir jedoch nicht sicher, wie ich es wie folgt verbessern könnte:Wie verbessere ich meinen vorhandenen Code für GetOpenfile-Funktion
1) Kann ich den Namen der Zieldatei (Kalkulation) im Code angeben, damit er nur für diese Datei funktioniert? Im Moment kann der Benutzer jede Datei auswählen und er sucht nach dem Blattnamen "SAP" und wenn er nicht finden kann, dass es nicht funktioniert - geht in den Debug-Modus - möchte ich ihm die Nachricht "Makro wird jetzt beenden geben weil Sie die korrekte Datei nicht ausgewählt haben ".
2) Wie 1 oben, aber die Nachricht ist jetzt "Makro wird jetzt beendet, da kein SAP-Blatt in der Datei vorhanden ist". Diese Nachricht wird angezeigt, nachdem die richtige Datei ausgewählt wurde, aber kein SAP-Blatt darin enthalten ist.
2) Löschen Sie die vorhandenen Daten im Ziel „SAP“ Blatt im angegebenen Bereich (do i im Moment den richtigen Code habe?)
3) Wenn der Benutzer auf Abbrechen klickt (weil sie nicht tun möchte fortfahren) eine Meldung erscheint und Sub endet - "Das Makro wird jetzt beendet, weil Sie die Datei nicht ausgewählt haben"
Vielen Dank!
'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
Vielen Dank, sehr geschätzt! – Zakky