Anzeige
Archiv - Navigation
1520to1524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sheets.Add wo ist der Fehler ?

Sheets.Add wo ist der Fehler ?
31.10.2016 14:02:16
Max2
Hallo Leute
habe eine kleine UserForm mit 3 Buttons und einer Combobox.
Mit dem ersten Button wählt man einen Ordner aus, in der Combobox stehen dann alle CSV-Dateien, die in dem ausgewählten Ordner vorhanden sind, drinnen.
Der zweite Button gibt einem nur zwei Inputboxen die den Variablen k und l einen Wert geben.
Der dritte Button soll dann die Ausgewählte Datei öffnen und ihren Inhalt in die Datei mit dem Makro Kopieren
Code des dritten Buttons sieht wie folgt aus:

Set WbkEinfügen = ThisWorkbook
Workbooks.OpenText Filename:=strDateiName, DataType:=xlDelimited, _
TextQualifier:=xlTextQualifierDoubleQuote, Comma:=True, _
DecimalSeparator:=".", ThousandsSeparator:=" "
Set WbkKopieren = ActiveWorkbook
WbkKopieren.ActiveSheet.Range("A:ZZ").Copy
WbkEinfügen.Sheets.Add After:=Worksheets(Worksheets.Count).Name = "Scan" & "_" & k
    Set WksÜbersicht = WbkEinfügen.Sheets("Scan" & "_" & k)
WksÜbersicht.Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
Der Fett markierte Teil des Codes gibt mir den Fehler 1004 "Die Methode Add für das Objekt Sheets ist fehlgeschlagen" zurück.
WbkEinfügen ist ja ThisWorkbook also die Datei mit der UserForm und WbkKopieren ist die geöffnete csv-Datei.
Wo hab ich den Fehler gemacht ?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheets.Add wo ist der Fehler ?
31.10.2016 14:20:22
Daniel
HI
naja, du willst zwar das Sheet im Workbook "wbkEinfügen" einfügen, gibst aber als Ziel (After) das letzte Sheet in der gerade aktiven Datei an und die ist eine ganz andere, nämlich "wbkKopieren"
das hier das gleiche Workbook verwendet werden muss, sollte logisch sein:
ich würde das so programmieren:
set wksÜbersicht = wbkEinfügen.Sheets.Add(After:=wbkEinfügen.Sheets(wbkEinfügen.Sheets.Count))
wksÜbersicht.Name = "Scan_" & k
wksÜbersicht.Range("A1").Pastespecial xlpastevalues

gruß Daniel
AW: Sheets.Add wo ist der Fehler ?
31.10.2016 14:59:47
Max2
Danke für deine Hilfe, aber das war gar nicht das Problem.
Ich hatte vor "After:=" und nach ".Count)" die Klammer vergessen, deshalb ging es nicht.
Ohne deinen Code hätte ich es wahrscheinlich ewig nicht gesehen...
So geht das ohne Probleme:
WbkEinfügen.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Scan" & "_" & k

Anzeige
AW: Sheets.Add
31.10.2016 16:41:43
snb
So geht's einfacher:
Sub M_snb()
With Application.FileDialog(1)
.InitialFileName = "*.csv"
If .Show Then ThisWorkbook.Sheets.Add(, Sheets(Sheets.Count), , .SelectedItems(1)).Name = " _
scan_" & ThisWorkbook.Sheets.Count + 1
End With
End Sub

Gelöst
31.10.2016 15:00:03
Max2
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige