1.Datei Explorer öffnen und dort eine xlsx. auswählen und diese Datei öffnen.
2.In dieser Datei befindet sich ein Arbeitsblatt Tabelle1, was Kopiert und in meine aktuelle Arbeitsmappe ganz links als erstes Sheet eingefügt aber Umbenannt werden soll in Bestand.
3. Besonders Wichtig: Ist bereits das Sheet Bestand vorhanden, bitte eine MSG Box mit dem Hinweis, Bestand ist vorhanden, Überschreiben ja dann ersetzen, nein dann Prozedur abbrechen.
4. Nach dem Erstellen von Bestand die Originaldatei Tabelle1 im Hintergrund wieder gut verschließen. also soll geschlossen werden -😊
Das mit dem Explorer öffnen geht schon mal. Beim Rest hab ich meine Probleme... Kann jemand mal über den Code schauen?
Das Macro soll mit einer Befehlsschaltfläche gestartet werden.
LG Andrea
Function SelectFile() As String ' Datei Explorer Öffnen
Dim fileDlg As FileDialog
Set fileDlg = Application.FileDialog(msoFileDialogOpen)
With fileDlg
.InitialFileName = "D:\Bestand"
.Filters.Add "Excel File", "*.xl*", 1
.AllowMultiSelect = False
If fileDlg.Show = False Then
SelectFile = ""
Else
SelectFile = fileDlg.SelectedItems(1)
End If
End With
End Function
Function GetWorkbook(ByVal sFullName As String) As Workbook ' hiermit die Datei öffnen
Dim sFile As String
Dim wbReturn As Workbook
sFile = Dir(sFullName)
On Error Resume Next
Set wbReturn = Workbooks(sFile)
If wbReturn Is Nothing Then
Set wbReturn = Workbooks.Open(sFullName)
End If
On Error GoTo 0
Set GetWorkbook = wbReturn
End Function
Function CopySheet(Sh As Worksheet, trgWrkb As Workbook) As Boolean ' kopieren
On Error GoTo EH
Sh.Copy before:=trgWrkb.Sheets(1)
CopySheet = True
Exit Function
EH:
MsgBox Sh.Name & " was not copied", vbCritical, "Sheet copy failed"
CopySheet = False
End Function