Anzeige
Archiv - Navigation
1700to1704
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

Fehler Objekt erforderlich

Fehler Objekt erforderlich
25.07.2019 10:26:14
walta

Sub SeparierenInMappe()
Dim v, D As Object, wb As Workbook
Application.ScreenUpdating = False
Set D = CreateObject("scripting.dictionary")
With Tabelle1 'ggf. ANPASSEN !!!!
If .AutoFilterMode Then .AutoFilterMode = False
With .Range("A1").CurrentRegion
For Each v In .Columns(1).Offset(1).Value
If v  "" Then D(v) = 0
Next
For Each v In D.Keys
Set wb = Workbooks.Add(xlWBATWorksheet)
.AutoFilter 1, v
.Copy wb.Worksheets(1).Cells(1)
wb.Worksheets(1).Name = v
wb.SaveAs .Parent.Parent.Path & "\" & v & ".xlsx", xlOpenXMLWorkbook
wb.Close False
Next
.AutoFilter
End With
End With
MsgBox "Finished!"
End Sub

Bekomme hier immer den Fehler Objekt erforderlich, hat hier jemand eine Idee?

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
läuft fehlerfrei. owT
25.07.2019 11:56:33
Rudi
Gibt es....
25.07.2019 12:36:27
{Boris}
Hi,
...in Deiner Mappe ein Blatt mit dem Codenamen Tabelle1?
VG Boris
AW: Fehler Objekt erforderlich
26.07.2019 22:21:08
walta
Also das ist der gesamte Code:
Sub Kopie()
Cells.Select
Selection.Copy
Sheets("Daten").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.DisplayAlerts = False
Worksheets("SAP").Delete
Worksheets("MBB Auflagen").Delete
Application.DisplayAlerts = True
Range("A4").Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$3:$Y$10000"), , xlYes).Name _
= "Tabelle1"
Range("Tabelle1[#All]").Select
ActiveSheet.ListObjects("Tabelle1").TableStyle = "TableStyleLight1"
Range("A2").Select
Range("Tabelle1[[#Headers],[Debitor" & Chr(10) & " ]]").Select
Selection.AutoFilter
Range("A1").Select
End Sub

Sub SeparierenInMappe()
Dim v, D As Object, wb As Workbook
Application.ScreenUpdating = False
Set D = CreateObject("scripting.dictionary")
With Tabelle1
If .AutoFilterMode Then .AutoFilterMode = False
With .Range("A1").CurrentRegion
For Each v In .Columns(1).Offset(1).Value
If v  "" Then D(v) = 0
Next
For Each v In D.Keys
Set wb = Workbooks.Add(xlWBATWorksheet)
.AutoFilter 1, v
.Copy wb.Worksheets(1).Cells(1)
wb.Worksheets(1).Name = v
wb.SaveAs .Parent.Parent.Path & "\" & v & ".xlsx", xlOpenXMLWorkbook
wb.Close False
Next
.AutoFilter
End With
End With
MsgBox "Finished!"
End Sub

Wenn ich nur den zweiten ausführe klappt alles, wenn ich erst den oberen und dann den unteren ausführen will funktioniert der zweite nicht mehr und wenn ich beide Codes verbinde und dann nur den einen langen Code ausführe hängt sich Excel komplett auf. Hoffe man versteht, was ich meine.
Anzeige
In welcher Zeile genau...
28.07.2019 12:28:19
{Boris}
Hi,
...kommt der Fehler?
VG, Boris
AW: In welcher Zeile genau...
28.07.2019 14:33:18
walta
Hallo Boris,
ich bekomme den Fehler im zweiten Code bei:
If .AutoFilterMode Then .AutoFilterMode = False
Kannst Du mal bitte...
28.07.2019 23:01:58
{Boris}
Hi,
die (Beispiel-)mappe hochladen?
VG, Boris
das würde ich..
31.07.2019 23:18:06
Rudi
... durch
if .filtermode then .showalldata

ersetzen.
Gruß
Rudi

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige