Microsoft Excel

Herbers Excel/VBA-Archiv

in Datenbank (Name)

Betrifft: in Datenbank (Name) von: Christina
Geschrieben am: 28.08.2014 08:46:50

Grüezi
in einer Tabelle habe ich einen Datenbereich den ich Datenbank genannt habe.
Jetzt möchte ich alle leeren Zeilen darin löschen.
In den leeren Zeilen sind nur bedingte Formatierungen und Formate enthalten,
sonst nix.
An alle Forumsteilnehmer die immer hilfsbereit sind, möchte ich meinen Dank aussprechen.
Christina

  

Betrifft: AW: in Datenbank (Name) von: JoWE
Geschrieben am: 28.08.2014 09:13:36

Hallo Christina,
als Ansatz in VBA:

Sub clear()
    Dim ze As Range
    For Each ze In Range("Datenbank")
        If ze = "" Or IsNull(ze) Then
            ze.ClearFormats
        End If
    Next
End Sub

Gruß
Jochen


  

Betrifft: AW: in Datenbank (Name) von: Christina
Geschrieben am: 28.08.2014 10:05:20

Hallo
da kommt Excel aber mit einer komischen Fehlermeldung
Scheinbar kann er verbundene Zeilen nicht löschen, obwohl keine Zeilen verbunden sind.
Zudem soll er die Zeilen löschen und CLEAREN (Reinigen ??)
Christina


  

Betrifft: AW: in Datenbank (Name) von: JoWE
Geschrieben am: 28.08.2014 11:16:54

Hallo Christina,

mein Beitrag war tatsächlich als Ansatz gedacht, nicht als die ultimative Löung.
Sollte das bei Dir anders verstanden worden sein, entschuldige. Das war nicht mein Ziel.
Lade die Arbeitsmappe doch mal hoch und zeige den Zustand vor Makrostart und das gewünschte Ergebnis nach Makroablauf.

Gruß
Jochen


  

Betrifft: AW: in Datenbank (Name) von: Christina
Geschrieben am: 28.08.2014 11:26:33

Hallo Jochen
lasse ich das Makro laufen, "motz" Excel mit
einem Datenbank-Fehler.
Christina


  

Betrifft: AW: in Datenbank (Name) von: JoWE
Geschrieben am: 28.08.2014 11:36:34

Christina,

Di reagierst nicht auf meine Bitte, die Mappe hochzuladen.
Mit Deiner Fehlerbeschreibung kann ich nichts anfangen.

Ich bin raus,
Jochen


  

Betrifft: AW: in Datenbank (Name) von: Christina
Geschrieben am: 28.08.2014 11:43:19

https://www.herber.de/bbs/user/92352.xlsm


Entschuldigung,
der PC wollte nicht dasselbe wie ich.
Christina


  

Betrifft: AW: in Datenbank (Name) von: Rolf.dW
Geschrieben am: 28.08.2014 14:44:49

Hallo Christina,

bist du wirklich sicher, dass du 'alle leeren Zeilen' löschen möchtest? Entspricht deine BspDatei wirklich der Realität?

Du sagst: "In einer Tabelle habe ich einen Datenbereich den ich Datenbank genannt habe."
Stehen links und/oder rechts vom 'Datenbereich' (dem hast du ja diesen BereichsNamen nicht nur aus Jux und Dollerei vergeben, oder) auch noch Daten? Zeilen löschen wäre dann fatal.

Ganze Zeilen oder nur Range("A?:J?") zu löschen ist nicht das Problem. Du musst nur exakt definieren, was du gerne möchtest.

Gruß, Rolf


  

Betrifft: AW: in Datenbank (Name) von: Christina
Geschrieben am: 28.08.2014 16:04:14

Hallo
natürlich alle Zeilen die im Bereich von A:J stehen.
Ja, ich bin mir sicher - eine anderes Makro füllt diese Datei und ich schaffe vorher genügend Platz.
Ist der Übertrag gemacht, alle Zeilen in der Datenbank gefüllt, etc. will ich die leeren Zeilen wieder weghaben.


  

Betrifft: AW: in Datenbank (Name) von: Rolf.dW
Geschrieben am: 28.08.2014 19:18:42

Hallo Christina,

ich muss mich leider für heute ausklinken.


  

Betrifft: AW: in Datenbank (Name) von: Rolf.dW
Geschrieben am: 29.08.2014 11:38:13

Hallo Christina,

in einer Tabelle habe ich einen Datenbereich den ich Datenbank genannt habe… ein anderes Makro füllt diese Datei und ich schaffe vorher genügend Platz …interpretiere ich wie folgt:
Entweder werden
a) die neuen Daten unterhalb der bereits vorhandenen hinzugefügt, nachdem du eine gewisse Anzahl an Leerzeilen eingefügt hast (weil unterhalb von "Datenbank" noch weitere Daten stehen), oder
b) du fügst innerhalb des Bereichs "Datenbank" Leerzeilen ein und ein anderes Makro füllt diesen Bereich mit neuen Daten.

Wie auch immer; das Problem ist das gleiche. Der Bezug von "Datenbank" ($A$2:$J$19) verändert sich durch das Einfügen von Leerzeilen nicht automatisch! Für das Löschen von Leerzeilen macht Range("Datenbank") folglich überhaupt keinen Sinn.
Deshalb erneut meine Grundsatzfrage: "Wozu benötigst du den Bereichsnamen Datenbank?"

Ohne die konkrete Struktur deines TB zu kennen und was wie wo eingefügt wird, kann ich dir leider nicht weiter helfen.

Gruß, Rolf


  

Betrifft: AW: in Datenbank (Name) von: Christina
Geschrieben am: 29.08.2014 12:30:53

Hallo Rolf
besten Dank für Deine Mühe.
Vermutlich ist wirklich etwas kaputt an meiner Mappe.
Ich habe alle Tabellen und Makro's in eine andere Mappe kopiert und jetzt funktioniert alles.
Was ich eigentlich gesucht habe war dieses Makro.
Gruss
Christina

Function LeereZeilenLoeschen()
     Dim Zeile As Long
     With Tabelle1
         '.UsedRange ist der verwendete Bereich der Tabelle
         'Schleife beim Löschen immer von unten nach oben durchlaufen lassen !
         For Zeile = .UsedRange.row + .UsedRange.rows.count - 1 To 1 Step -1
             'Application.CountA entspricht der Funktion =ANZAHL2()
             'und zählt, wieviele gefüllte Zellen der Bereich (hier : die Zeile) enthält
             If Application.CountA(.rows(Zeile)) = 0 Then .rows(Zeile).EntireRow.Delete
         Next
     End With
End Function



 

Beiträge aus den Excel-Beispielen zum Thema "in Datenbank (Name)"