Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler: Bei überlappenden Markierungen.....

Forumthread: Fehler: Bei überlappenden Markierungen.....

Fehler: Bei überlappenden Markierungen.....
03.06.2013 15:00:22
rieckmann
Hallo Leute,
habe mal wieder einen Fehler in der Anwendung.
Laufzeitfehler 1004
Bei überlappenden Markierungen ist die Ausführung dieses Befehls nicht möglich.
Bei diesen Code (hier aus dem Forum) sollen alle Datensätze aus allen Tabellenblätter
ab Zeile 2 in ein Gesamt Tabellenblatt zusammengefügt werden.
Dabei kommt dieser Fehler in dieser Zeile zustande.
.Range("A:J").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Was kann das sein ?
Private Sub Worksheet_Activate()
Dim wks As Worksheet
Dim letzteZ As Long, x As Long
Application.ScreenUpdating = False
With Worksheets("Gesamt")
.Range(Rows(2), Rows(Rows.Count)).Delete
For Each wks In Worksheets
If wks.Name  "Gesamt" Then
x = Sheets(wks.Name).Cells(Rows.Count, 1).End(xlUp).Row + 1
letzteZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
If x > 2 Then
wks.Cells(2, 1).Resize(wks.UsedRange.Rows.Count - 1, 9).Copy .Cells(letzteZ, 1)
End If
End If
Next
.Range("A:J").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Application.ScreenUpdating = True
End Sub

Gruß
Fred

Anzeige

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

Betreff
Datum
Anwender
Anzeige
ohne EntireRow geht es...owT Gruß
03.06.2013 15:09:25
robert

AW: ohne EntireRow geht es...owT Gruß
03.06.2013 15:18:33
rieckmann
Hallo Robert,
leider nicht !
Dann werden leere Zellen in Datensätze nicht mit kopiert.
Es verschieben sich so Datensätze, denn manche haben eine Leerzelle, und andere nicht.
Guß
Fred

AW: Fehler: Bei überlappenden Markierungen.....
03.06.2013 15:44:20
Rudi
Hallo,
zum Schluss einfach sortieren, dann landen ganz leere Zeilen unten.
btw.:
.Range("A:J").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
das würde, wenn fntionieren würde, alle Zeilen löschen, in denen irgendeine Zelle in A:J leer ist.
Private Sub Worksheet_Activate()
Dim wks As Worksheet
Dim letzteZ As Long, x As Long
Application.ScreenUpdating = False
With Worksheets("Gesamt")
.Range(Rows(2), Rows(Rows.Count)).Delete
For Each wks In Worksheets
If wks.Name  "Gesamt" Then
x = wks.Cells(Rows.Count, 1).End(xlUp).Row
letzteZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
If x > 1 Then
wks.Cells(2, 1).Resize(x - 1, 9).Copy .Cells(letzteZ, 1)
End If
End If
Next
.Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Resize(, 9).Sort _
key1:=.Cells(2, 1), order1:=xlAscending, Header:=xlYes
End With
Application.ScreenUpdating = True
End Sub

Gruß
Rudi

Anzeige
AW: Fehler: Bei überlappenden Markierungen.....
03.06.2013 16:03:10
rieckmann
Hallo Rudi,
danke für deine Mühe.
Ein Fehler kommt nun nicht mehr mit deinen Code,
aber er lässt nun Datensätze weg die z.B. erst ab Spalte "D" beginnen,
also A,B,C, sind leer und dann beginnt der Datensatz in D.
Er muss also alle Datensatz-Zeilen mit Leerzellen zusammenstellen,
wobei auch die Leerzellen mit kopiert werden sollen.
Sonst verschieben sich die Datensätze unter der Überschriften.
Gruß
Fred
Anzeige
;
Anzeige

Infobox / Tutorial

Fehlerbehebung bei überlappenden Markierungen in Excel


Schritt-für-Schritt-Anleitung

Um den Fehler "Laufzeitfehler 1004: Bei überlappenden Markierungen ist die Ausführung dieses Befehls nicht möglich" zu beheben, kannst du den folgenden VBA-Code verwenden. Dieser Code hilft dabei, Daten aus mehreren Arbeitsblättern in ein Hauptarbeitsblatt zu konsolidieren, ohne dass es zu überlappenden Zellen kommt.

Private Sub Worksheet_Activate()
    Dim wks As Worksheet
    Dim letzteZ As Long, x As Long
    Application.ScreenUpdating = False
    With Worksheets("Gesamt")
        .Range(Rows(2), Rows(Rows.Count)).Delete
        For Each wks In Worksheets
            If wks.Name <> "Gesamt" Then
                x = wks.Cells(Rows.Count, 1).End(xlUp).Row
                letzteZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
                If x > 1 Then
                    wks.Cells(2, 1).Resize(x - 1, 9).Copy .Cells(letzteZ, 1)
                End If
            End If
        Next
        .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Resize(, 9).Sort _
            key1:=.Cells(2, 1), order1:=xlAscending, Header:=xlYes
    End With
    Application.ScreenUpdating = True
End Sub

Mit diesem Code werden die Zellen nicht überlappen und alle relevanten Daten, auch die mit Leerzellen, werden korrekt übernommen.


Häufige Fehler und Lösungen

  1. Fehler: Laufzeitfehler 1004

    • Ursache: Dieser Fehler tritt auf, wenn du versuchst, eine Operation auf Zellen auszuführen, die überlappen.
    • Lösung: Stelle sicher, dass du den Code so anpasst, dass keine überlappenden Zellen verwendet werden. Der oben bereitgestellte Code hilft, dieses Problem zu vermeiden.
  2. Leere Zeilen werden nicht gelöscht

    • Ursache: Wenn du .EntireRow.Delete verwendest, werden möglicherweise leere Zeilen nicht korrekt erkannt.
    • Lösung: Verwende .SpecialCells(xlCellTypeBlanks) in Kombination mit einer Bedingung, um gezielt leere Zellen zu entfernen.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du die folgenden Schritte in Excel manuell durchführen:

  1. Daten filtern: Nutze die Filterfunktion, um nur die benötigten Daten anzuzeigen.
  2. Leere Zellen entfernen: Du kannst die Funktion "Suchen und Ersetzen" verwenden, um leere Zellen zu markieren und zu entfernen.
  3. Sortieren: Sortiere deine Daten, um leere Zeilen am Ende zu positionieren.

Diese Methoden sind nützlich, um sicherzustellen, dass deine Excel-Zellen nicht überlappen.


Praktische Beispiele

Angenommen, du hast Daten in mehreren Tabellenblättern, und möchtest diese in einem Hauptblatt zusammenführen. Verwende den bereitgestellten VBA-Code, um:

  • Alle Daten ab Zeile 2 zu kopieren.
  • Sicherzustellen, dass auch Datensätze, die in der Mitte der Tabelle beginnen (z.B. ab Spalte D), nicht verloren gehen.

Tipps für Profis

  • Excel Markierung entfernen: Wenn du Probleme mit überlappenden Markierungen hast, kannst du die Auswahl aufheben, indem du auf eine andere Zelle klickst oder die ESC-Taste drückst.
  • Zellen nicht überlappen: Achte darauf, dass die Bereiche, die du kopierst und einfügst, nicht überlappend sind. Prüfe immer, welche Zellen du gerade bearbeitest.
  • Datenprüfung: Führe regelmäßig Datenprüfungen durch, um sicherzustellen, dass alle Daten korrekt angeordnet sind und keine Leerzellen vorhanden sind, die zu Problemen führen könnten.

FAQ: Häufige Fragen

1. Wie kann ich überlappende Zellen in Excel vermeiden? Vermeide es, mehrere Zellen auszuwählen, die sich überschneiden. Nutze stattdessen klare Bereiche für deine Operationen.

2. Was kann ich tun, wenn ich trotzdem einen Laufzeitfehler erhalte? Überprüfe deinen VBA-Code auf mögliche Überlappungen und stelle sicher, dass du die richtigen Zellreferenzen verwendest.

3. Wie kann ich leere Zellen in Excel schnell finden und entfernen? Verwende die Funktion „Suchen und Ersetzen“, um leere Zellen zu identifizieren, oder nutze die Filterfunktion, um nur die benötigten Daten anzuzeigen.

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