Sub Blatt1Kopieren() dateiauswahl = Application.GetOpenFilename(Filefilter:="Excel Dateien (*.xls*), *.xls*", MultiSelect:=True) If TypeName(dateiauswahl) = "Boolean" Then Exit Sub 'Stop For datei = 1 To UBound(dateiauswahl) Set dt = Workbooks.Open(dateiauswahl(datei), 0) 'Stop dt.Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) dt.Saved = True dt.Close Next datei End Sub
Sub DateienLesen() Call EventsOff Dim DateiName As String, Meldung As String DateiName = Dir("D:\Temp\" & "*.xls") Do While DateiName <> "" If ThisWorkbook.Name <> DateiName And SheetExists("" & Mid(DateiName, 1, 8)) = False Then Workbooks.Open Filename:="D:\Temp\" & DateiName Workbooks(DateiName).Worksheets(1).Copy After:=ThisWorkbook.Worksheets(ThisWorkbook.Sheets.Count) ActiveSheet.Name = Mid(DateiName, 1, InStr(1, DateiName, ".", 1) - 1) Workbooks(DateiName).Close Else Meldung = MsgBox("Ein Worksheet mit dem Namen " & Mid(DateiName, 1, 8) & " gibt es schon") End If DateiName = Dir Loop Call EventsOn End Sub
Public Sub EventsOff() With Application .ScreenUpdating = False .EnableEvents = False .Calculation = xlCalculationManual End With End Sub
Public Sub EventsOn() With Application .ScreenUpdating = True .EnableEvents = True .Calculation = xlCalculationAutomatic End With End Sub
Public Function SheetExists(strName As String) As Boolean On Error Resume Next SheetExists = Not Worksheets(strName) Is Nothing End Function
58.7k Fragen
251k Antworten
7.3k Nutzer