Microsoft Excel

Herbers Excel/VBA-Archiv

Tabelle leeren wenn Tagesdatum erreicht | Herbers Excel-Forum


Betrifft: Tabelle leeren wenn Tagesdatum erreicht von: WolfgangHB
Geschrieben am: 13.01.2012 16:05:21


Hallo, liebe Excel-/VBA-Experten !

Ich möchte in einer Exceltabelle von variabler Länge die Werksferien unserer Kunden überwachen:

Vereinfachte Darstellung:
Spalte A Name Spalte B Ort Spalte C Kunden-Nr Spalte D hat von von: (Datum) Spalte E hat zu bis: (Datum)

Frage:
Wie stelle ich es an, daß wenn in Spalte E das aktuelle Tagesdatum erreicht wurde,
a) bestimmte vorgegebene Zellen in der betreffenden Zeile geleert werden
b) die gesamte Zeile aus der Tabelle herausgelöscht wird ?

Mein Ziel ist es, daß sich die Datei quasi selbst um alte, ungültig gewordene Einträge bereinigt.

Für Hinweise bzw. entsprechende VBA Codes wäre ich sehr dankbar !

Viele Grüße und ein schönes Wochenende !

Wolfgang

  

Betrifft: AW: Tabelle leeren wenn Tagesdatum erreicht von: fcs
Geschrieben am: 14.01.2012 01:09:37

Hallo Wolfgang,

mit folgenden Makros, die du ggf. noch ein wenig anpassen muss, sollte es funktionieren.

Gruß
Franz

'Makro unter DieseArbeitsmappe


Private Sub Workbook_Open()
  Call CheckDatum
End Sub




'Makro in einem allgemeinen Modul

Public Sub CheckDatum()
  Dim lngZeile As Long
  Dim wks As Worksheet
  Set wks = Worksheets("Tabelle1") 'Name der Tabelle ggf. anpassen
  Application.ScreenUpdating = False
  With wks
    lngZeile = .Cells(.Rows.Count, 1).End(xlUp).Row
    For lngZeile = lngZeile To 2 Step -1 '2 ggf. anpassen = 1. Zeile mit Daten
      'Wert in Spalte E prüfen
      If Not IsEmpty(.Cells(lngZeile, 5)) Then
        If .Cells(lngZeile, 5).Value < Date Then
          'Zellinhalte löschen
          .Cells(lngZeile, 4).ClearContents 'Spalte D
          .Cells(lngZeile, 5).ClearContents 'Spalte E
'          .Rows(lngzeile).delete 'ganze Zeile löschen
        End If
      End If
    Next lngZeile
  End With
  Application.ScreenUpdating = True
End Sub



  

Betrifft: AW: Tabelle leeren wenn Tagesdatum erreicht von: WolfgangHB
Geschrieben am: 14.01.2012 06:58:08

Hallo Franz !



Dein Makro klappt perfekt ! Das ist genau, wonach ich gesucht habe !

Prima ist auch das ausführliche Auskommentieren der einzelnen Befehlszeilen.

So wird der Code für mich halbwegs nachvollziehbar und ist leicht anzupassen.

Außerdem bringt es meine leider allzu bescheidenen VBA-Kenntnisse wieder ein kleines bisschen voran.

Nochmals vielen Dank und ein schönes Wochenende !


Liebe Grüße

Wolfgang


Beiträge aus den Excel-Beispielen zum Thema "Tabelle leeren wenn Tagesdatum erreicht"