Microsoft Excel

Herbers Excel/VBA-Archiv

Leeren von Zellen die keine Uhrzeit enthalten | Herbers Excel-Forum


Betrifft: Leeren von Zellen die keine Uhrzeit enthalten von: Dennis Volkmann
Geschrieben am: 08.01.2010 13:44:21

Hallo liebe xls.-Cracks,

ich benötige einen VBA-Strang, mit dem ich aus einer bestehenden Liste die Zeilen entfernen kann, in denen in der Spalte C (z.B.) keine Uhrzeit steht. Es ist nämlich bei dem Zugrunde liegenden Datenbestand möglich, das einzelne Datensätze völlig aus der Art schlagen. VBA-Strang, weil ich diese Liste vorher und nachher mit weiteren Elementen zurechtstutze, bearbeite etc.

Vielen Dank für Euren Support.

Grüße

  

Betrifft: AW: Leeren von Zellen die keine Uhrzeit enthalten von: Mike
Geschrieben am: 08.01.2010 13:57:27


Hey Dennis,

alternativ ginge dies auch mit dem Autofilter, vorausgesetzt, dass
statt der Uhrzeit nichts drin wäre - in Spalte C.

Gruss
Mike


  

Betrifft: AW: Leeren von Zellen die keine Uhrzeit enthalten von: Dennis Volkmann
Geschrieben am: 08.01.2010 14:27:09

Hallo Mike,

vielen Dank für die kurzfristige Antwort. Allerdings sind sämtliche Zellen der Spalte C nicht leer. Da ich mit den Uhrzeiten im weiteren Berechnungen anstellen möchte ist es entscheidend, dass die übrigen Zellen leer sind. Sonst erhalte ich Fehlermeldungen. Mit leeren Zellen kann ich allerdings umgehen. Plakativ müsste mit vba folgendes definiert werden:

Durchsuche Spalte C von C1 bis C2000...wenn z.B. Zelle C256 keine Uhrzeit im Format 16:42 ist, dann entferne diesen Wert aus der Zelle...

Danke.

Gruß


  

Betrifft: AW: Leeren von Zellen die keine Uhrzeit enthalten von: Daniel
Geschrieben am: 08.01.2010 14:42:32


Hi
probier mal dieses Makro.
als Uhrzeit wird eine Zahl zwischen 0 und 1 gewertet, wie das in Excel so üblich ist.
wenn das bei dir anders ist, müsstest du dir eine Formel überlegen, die alle Uhrzeiten mit WAHR kennzeichnet und alle Nicht-Uhrzeiten mit einer Zahl. Diese Formel musst du dann im R1C1-Format in das Makro übernehmen.

Sub NichtUhrzeitLöschen()
With ActiveSheet.UsedRange
    With .Columns(.Columns.Count).Offset(0, 1).Resize(.Rows.Count + 1)
        .FormulaR1C1 = "=IF(AND(RC3>0,RC3<=1),true,0)"
        Intersect(Columns(3), .SpecialCells(xlCellTypeFormulas, 1).EntireRow).ClearContents
        .ClearContents
    End With
End With
End Sub
Gruß, Daniel


  

Betrifft: AW: Leeren von Zellen die keine Uhrzeit enthalten von: Dennis Volkmann
Geschrieben am: 08.01.2010 15:01:58

Hallo Daniel,

vielen, vielen Dank. Hat super funktioniert. Jetzt muss ich es nur noch blicken.

Ein schönes Wochenende.

MfG


  

Betrifft: AW: Leeren von Zellen die keine Uhrzeit enthalten von: Daniel
Geschrieben am: 08.01.2010 15:24:46

HI
was ist daran kompliziert?
das ist genau die Methode die man ohne VBA auch verwenden sollte:
- sich ne Formel ausdenken, die die relevanten Zellen markiert, so daß man sie über GEHE ZU - INHALTE selektieren und bearbeiten kann.

Gruß, Daniel


  

Betrifft: AW: Leeren von Zellen die keine Uhrzeit enthalten von: Dennis Volkmann
Geschrieben am: 08.01.2010 15:46:16

Hallo Daniel,

mein Problem war die "Negation"...suche etwas das nicht dem Format entspricht...

Über die Eselsbrücke des Gültigkeitsbereichs Null bis Eins ist es dann relativ einfach.

Deine Code habe ich mittlerweile auch verstanden.

Danke.


Beiträge aus den Excel-Beispielen zum Thema "Leeren von Zellen die keine Uhrzeit enthalten"