Hallo,
die Fehlermeldung "Dieser Name wird bereits verwendet" bezieht sich auf den Neuen Tabellennamen.
Im VBA-Code wird der Befehl ...
ActiveSheet.Name = "Versuch " & i
... zweimal verwendet. Einmal innerhalb der If-Then Bedingung. Und einmal zusätzlich noch danach.
Führe statt dessen mal diesen Code aus...
Sub Schaltfläche_Datenimport_starten_Klicken()
Application.ScreenUpdating = False
Dateipfad = Application.GetOpenFilename("Alle-Dateien (*.SP8),*.*,", MultiSelect:=True)
Dim Laenge As Integer
Dim i As Integer
Sheets("Variablen").Range("B1").Value2 = UBound(Dateipfad)
Laenge = UBound(Dateipfad)
' Kontrolle: MsgBox Laenge
' Kontrolle, ob Dokumente geladen
' Geladen = 1
For i = 1 To Laenge
If Not existsWorksheet("Versuch " & i) Then
ThisWorkbook.Worksheets.Add After:=ActiveSheet
ActiveSheet.Name = "Versuch " & i
Range("A10").Select
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Dateipfad(i), Destination:=Range("A2"))
[...]
End If
Next
End Sub
Function existsWorksheet(sNm As String) As Boolean
Dim wbk As Workbook
Dim wsh As Worksheet
Set wbk = ActiveWorkbook
For Each wsh In wbk.Worksheets
If wsh.Name = sNm Then
existsWorksheet = True
Exit For
End If
Next
End Function
Beim Aufruf wird eine neue Tabelle nur dann angelegt, wenn es noch keine gleichnamige Tabelle existiert. Weitere Aktionen werden ebenfalls nur dann ausgeführt, wenn eine neue Tabelle angelegt wurde.
LG, Ben
|