Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...

LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...
27.06.2024 14:34:31
Günther
Hallo VBA Profis,
ich bins mal wieder. Leider mal wieder ein Problem. Seit gestern erhalte ich den Laufzeitfehler 1004 mit dem Hinweis "Eine Tabelle kann keine andere Tabelle überlappen".
Keine Ahnung woher diese Meldung kommt bzw. was diese bedeutet.
Ich hoffe irgend Jemand hat hierfür eine Idee/Lösung. Ob dieser Makro Ausschnitt aussagekräftig ist, kann ich nicht sagen. Aber die ganze Datei anzuhängen geht nicht, da diese zu groß ist.

Sub Datenschnitt_Kurzuebersicht()
'
'Application.DisplayAlerts = False
'Application.ScreenUpdating = False


Sheets("Kurzuebersicht").Select
'Rows("5:5").Select
Range("A7").Select
Application.CutCopyMode = False

'Hier kommt der Fehler

ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$7:$AK$374"), , xlYes).Name _
= "tbl_kurzuebersicht"
Range("tbl_kurzuebersicht[#All]").Select

......


Grüße
Günther
Anzeige
AW: LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...
27.06.2024 14:42:48
ralf_b
in dem zur Tabelle auserkorenen Bereich ist schon eine andere Tabelle. das sagt ja die Fehlermeldung aus.
Schau dir im Namensmanager mal an welche Tabellen/Bereiche du schon hast.
AW: LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...
27.06.2024 14:47:08
daniel
Hi

dein Code fügt dem Tabellenblatt ein neues Listobject hinzu (ListObjects.Add)
das darfst du nur ausführen, wenn sich dort nicht schon ein solches befindet.
du müsstest also prüfen, ob der Code nicht schon gelaufen ist, bspw mit IF Sheets(...).ListObjects.Count = 0 THEN

oder du selektierst zuerst mal das Listobjekt und prüfst, ob das einen Fehler gibt.
wenn ja, erstellst du es, wenn nicht ist es vorhanden und du kannst weiter machen:


on Error Resume next

Range("tbl_kurzuebersicht[#All]").Select
if err > 0 then
on error goto 0
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$7:$AK$374"), , xlYes).Name _
= "tbl_kurzuebersicht"
Range("tbl_kurzuebersicht[#All]").Select
else
on error goto 0
end if


Gruß Daniel


Anzeige
AW: LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...
27.06.2024 15:29:00
Oppawinni
Naja, die Fehlermeldung
"Eine Tabelle kann keine andere Tabelle überlappen"
sagt ja schon, was da los ist.
Du könntest die vielleicht auflösen bevor du da was neues machst.
Keine Ahnung was du vor hast.


Sub Datenschnitt_Kurzuebersicht()
'
Dim wks As Worksheet
Dim strListOjName As String
Dim olist As ListObject
Dim rngList As Range

Set wks = ThisWorkbook.Worksheets("Kurzuebersicht")
Set rngList = wks.Range("$A$7:$AK$374")

For Each olist In wks.ListObjects
If Not Intersect(olist.Range, rngList) Is Nothing Then
olist.Unlist
End If
Next

wks.ListObjects.Add(xlSrcRange, rngList, , xlYes).Name = "tbl_kurzuebersicht"

wks.Range("tbl_kurzuebersicht[#All]").Select



'........


Anzeige
AW: LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...
27.06.2024 18:12:40
Piet
Hallo

ich erkläre es für Excel Laien bitte einmal so:
Wenn du schon ein Auto vor deinem Haus stehen hast, kannst du nicht auf den -gleichen Platz- ein -gleiches Auto- nochmal hinstellen.
ListObjekte oder Sheets mit ADD erstellt man nur einmal, das wiederholt man doch bitte nicht dutzendemale mit gleichem Namen!!

mfg Piet
Anzeige
AW: LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...
27.06.2024 19:21:32
Oppawinni
Naja, Piet, was willst du machen, wenn du das geparkte Fahrzeug vor lauter Laub (Daten) nicht siehst, aber das Laub nicht weg schaffen willst. Inwieweit das der gleiche Fahrzeugtyp war oder die Position die Gleiche war, wollte ich dann auch nicht wissen. Einfach alles was in dem Bereich nach Fahrzeug aussah weggeschafft :o)
Kurz und vielleicht schmerzhaft.
Anzeige
AW: LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...
27.06.2024 20:33:42
Piet
Hallo

naja, in Dubai lässt man Luxus Autos stehen, wenn der Aschenbecher voll ist. - Bei meiner Rente ....
(ich habe kein Auto! Und nur ein alten Sony Vaio Laptop, kleiner Bildschirm....)

Wenn Laien was fragen:
ich wurde einmal gefragt warum Transistoren durch Hitze so schnell kaputt gehen. Ich erklärte es so:
1kg Brikett und 1 kg Dynamit haben denselben Kalorienwert. Man sollte aber nicht mit Dynamit heizen!
Der entscheidende Unterschied ist der Zeitfakror der Verbrennung.

Eine Hausfrau wolte wissen, warum man nicht alle Kabel von einheitlicher Dicke herstellt. Wäre besser.
Ich fragte höflich, ob sie mal versucht hat mit einem Gartenschlauch ein brennendes Haus zu löschen,
oder ob sie ihre Blumen mit einem Feuerwehrschlauch giessen will? Sie lachte und hatte es verstanden.

mfg Piet
Anzeige
AW: LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...
27.06.2024 16:05:20
Günther
Hallo Oppawinni, Hallo Daniel, Hallo ralf_b,

Danke für Eure Hilfe und Anmerkungen.

Wie es aussieht hat der Code von Oppawinni mein Problem behoben.
Ich weiß zwar noch immer nicht, was genau hier schief ging. Na ja, wenn ich mal mehr Erfahrung habe, versteh ich das vielleicht.

Danke und noch einen angenehmen Abend.

Grüße
Günther
Anzeige
AW: LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...
27.06.2024 15:16:24
Günther
Hallo Daniel,
Danke für Deinen Beitrag. Jetzt lief das Makro zwar weiter, aber jetzt kommt ein paar Zeilen weiter der nächste Fehler

Laufzeitfehler 5: Ungültiger Prozeduraufruf oder ungültiges Argument.
Habe ich was falsch gemacht? Siehe unten bei 'Hier kommt jetzt der Fehler

Sub Datenschnitt_Kurzuebersicht()
'
'Application.DisplayAlerts = False
'Application.ScreenUpdating = False

' Datenschnitt_Kurzuebersicht Makro
'
Sheets("Kurzuebersicht").Select
'Rows("5:5").Select
' Selection.RowHeight = 180
Range("A7").Select
Application.CutCopyMode = False
' ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$7:$AK$387"), , xlYes).Name _
' = "tbl_kurzuebersicht"

On Error Resume Next
Range("tbl_kurzuebersicht[#All]").Select
If Err > 0 Then
On Error GoTo 0
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$7:$AK$374"), , xlYes).Name _
= "tbl_kurzuebersicht"
Range("tbl_kurzuebersicht[#All]").Select
Else
On Error GoTo 0
End If


ActiveWindow.SmallScroll Down:=-12
ActiveSheet.ListObjects("tbl_kurzuebersicht").TableStyle = "TableStyleMedium3"
ActiveSheet.ListObjects("tbl_kurzuebersicht").TableStyle = "TableStyleLight21"
Range("A9").Select



'Datenschnitte einfügen, positionieren und Style anpassen
'Range("C10").Select
Range("A1").Select

'Hier kommt jetzt der Fehler
ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.ListObjects("tbl_kurzuebersicht") _
, "Workstation-ID").Slicers.Add ActiveSheet, , "Workstation-ID", _
"Workstation-ID", 9, 414.75, 144, 198.75


Gruß
Günther
Anzeige
AW: LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle ...
27.06.2024 15:30:04
daniel
keine Ahnung.
der Bereich ist nicht so mein Fachgebiet.
aber das Schema sieht ähnlich aus, du versuchst, etwas hinzuzufügen was schon da ist.

dh du musst überall, wo du an dem Listobjekt was strukurelles hinzufügst prüfen. ob es nicht schon da ist und das hinzufügen nur dann ausführen, wenn nicht.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

LZ Fehler 1004 "Eine Tabelle kann keine andere Tabelle überlappen"


Schritt-für-Schritt-Anleitung

  1. Fehlerursache identifizieren: Der Fehler "Eine Tabelle kann keine andere Tabelle überlappen" tritt auf, wenn Du versuchst, ein neues ListObject (Tabelle) in einem Bereich zu erstellen, der bereits eine andere Tabelle enthält. Überprüfe den Bereich, in dem Du die Tabelle erstellen möchtest.

  2. VBA-Code anpassen: Stelle sicher, dass Du im VBA-Code prüfst, ob bereits eine Tabelle in diesem Bereich existiert. Hier ein Beispiel, wie Du dies implementieren kannst:

    Sub Datenschnitt_Kurzuebersicht()
        Dim wks As Worksheet
        Dim rngList As Range
        Dim olist As ListObject
    
        Set wks = ThisWorkbook.Worksheets("Kurzuebersicht")
        Set rngList = wks.Range("$A$7:$AK$374")
    
        For Each olist In wks.ListObjects
            If Not Intersect(olist.Range, rngList) Is Nothing Then
                olist.Unlist
            End If
        Next
    
        wks.ListObjects.Add(xlSrcRange, rngList, , xlYes).Name = "tbl_kurzuebersicht"
    End Sub
  3. Makro ausführen: Führe das Makro aus, um die Tabelle zu erstellen. Achte darauf, dass der Bereich nicht von anderen Daten überlappt wird.


Häufige Fehler und Lösungen

  • Laufzeitfehler 9: Dieser Fehler tritt auf, wenn Du auf ein nicht vorhandenes Element zugreifen möchtest. Überprüfe, ob der Tabellenname korrekt geschrieben ist.

  • Fehler beim Hinzufügen einer Tabelle: Wenn Du den Fehler "Eine Tabelle kann keine andere Tabelle überlappen" erhältst, überprüfe den Namensmanager. Du kannst auch den Bereich anpassen, um sicherzustellen, dass keine Überlappung stattfindet.

  • Zellen lassen sich nicht löschen: Wenn Du versuchst, Zellen zu löschen, die Teil einer Tabelle sind, wird dies nicht möglich sein. Lösche die Tabelle oder unliste sie zuerst.


Alternative Methoden

  • Excel bedingte Formatierung: Verwende die bedingte Formatierung, um Daten visuell hervorzuheben. Zum Beispiel kannst Du Daten, die in den nächsten 3 Monaten fällig sind, farblich kennzeichnen.

  • Anpassung von Daten: Nutze Funktionen wie TEXT() oder WVERWEIS(), um Werte aus einer anderen Tabelle zu suchen und zu übernehmen.


Praktische Beispiele

  • Zellen formatieren: Um Text ab einem bestimmten Zeichen auszugeben, könntest Du folgendes verwenden:

    =RECHTS(A1;LÄNGE(A1)-FINDEN(" ";A1))
  • Zählen von bestimmten Wörtern: Um bestimmte Wörter in einem Bereich zu zählen, verwende die Funktion ZÄHLENWENN():

    =ZÄHLENWENN(A1:A10; "Suchwort")

Tipps für Profis

  • VBA Fehler abfangen: Nutze On Error Resume Next, um Fehler im Code abzufangen. Dies verhindert, dass das Makro bei einem Fehler abbricht.

  • Excel Leerzeichen entfernen: Um überflüssige Leerzeichen aus Zellen zu entfernen, kannst Du die GLÄTTEN()-Funktion verwenden.

  • Zeilenumbruch in Excel-Zelle: Um einen Zeilenumbruch in einer Zelle zu erzeugen, drücke Alt + Enter, während Du den Text eingibst.


FAQ: Häufige Fragen

1. Was bedeutet der Fehler "Eine Tabelle kann keine andere Tabelle überlappen"?
Dieser Fehler tritt auf, wenn Du versuchst, eine neue Tabelle in einem Bereich zu erstellen, der bereits eine Tabelle enthält.

2. Wie kann ich eine Tabelle in Excel löschen?
Um eine Tabelle zu löschen, klicke mit der rechten Maustaste auf die Tabelle und wähle "Tabelle löschen". Wenn Du die Daten behalten möchtest, wähle "Unlist".

3. Was ist der Unterschied zwischen ZÄHLENWENN und ZÄHLENWENNS?
ZÄHLENWENN zählt die Anzahl der Zellen, die einem bestimmten Kriterium entsprechen, während ZÄHLENWENNS mehrere Kriterien in mehreren Bereichen berücksichtigen kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige