Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum aus Zelle lesen

Datum aus Zelle lesen
24.11.2016 05:00:29
Dave
Hallöchen,
ich verzweifle gerade mit einer Aufgabe, aber naja ist Nachtschicht, ich hoffe mir wird verziehen.
Kommen wir zum Problem:
Ich habe in einer Zelle einen Ausdruck der aus Text und Datum besteht.
Beispiel: In "D38" steht "Freigabe / 25.10.2015"
Ich möchte nun in einem nach rechts verlaufendem Bereich (ca. "D38" bis "FQ47", kann aber entsprechend mehr dazu kommen), dass die Zellen in denen ein Datum steht, welches älter als 1 Jahr ist, gelöscht werden.
Dabei sollen aber nicht die Zeilen von gleich welcher Richtung nachrücken.
Ich hoffe mein Problem ist verständlich, ansonsten versuche ich es noch genauer zu erklären :)
Gruß
Dave

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum aus Zelle lesen
24.11.2016 07:19:20
baschti007
Also wenn das Datum immer mit einem / getrennt wird geht das so
Gruß Basti
Sub sdfsdf()
Dim A, r, c
A = ThisWorkbook.Worksheets("Tabelle1").Range("D38:H39") ' hier de range anpassen
For r = LBound(A, 1) To UBound(A, 1)
For c = LBound(A, 2) To UBound(A, 2)
If Date > DateAdd("yyyy", 1, CDate(LCase(Split(A(r, c), "/ ")(1)))) Then
A(r, c) = vbNullString
End If
Next
Next
ThisWorkbook.Worksheets("Tabelle1").Range("D38").Resize(UBound(A, 1), UBound(A, 2)) = A
End Sub

AW: Datum aus Zelle lesen
24.11.2016 09:44:09
Werner
Hallo Dave,
nachdem ich mir jetzt auch schon Gedanken darüber gemacht habe, stelle ich meine Version auch noch ein, obwohl du schon einen Lösungsvorschlag von Baschti hast.
Public Sub löschen()
Dim strInhalt As String
Dim rngLöschbereich As Range
Dim rngZelle As Range
With Sheets("Tabelle1") 'ggf. anpassen
Set rngLöschbereich = .Range("D38:FQ47") 'Löschbereich anpassen
For Each rngZelle In rngLöschbereich
strInhalt = Replace(rngZelle, " ", "") 'Leerzeihen entfernen
If Not strInhalt = vbNullString Then
strInhalt = Right(strInhalt, Len(strInhalt) - InStrRev(strInhalt, "/", ,  _
vbTextCompare))
If IsDate(strInhalt) Then
If CDate(strInhalt) 
Gruß Werner
Anzeige
AW: Datum aus Zelle lesen
25.11.2016 01:14:30
Dave
Hallo Basti und Werner,
leider hat Bastis Antwort nicht geklappt, mir wurde immer wieder ein Index-Fehler angezeigt und da ich leider den Code selbst nicht so ganz verstehe kann ich ihn nicht sinnvoll abändern.
Werners Code funktioniert super, aber irgendwie erwischt er nicht alles.
Aus irgendeinem Grund, den ich nicht nachvollziehen kann, werden ab und an Zellen in denen das Datum definitiv älter ist als 365 Tage nicht gelöscht z.B. welche vom 31.4.15.
Obwohl die Zellen genauso wie die anderen sind und auch in der Range sind.
Vllt eine Idee woran es liegen könnte?
Hab schon versucht die Range genau auf den Bereich zu legen und es passiert trotzdem nix :/
Gruß
Dave
Anzeige
AW: Beispieldatei
25.11.2016 01:59:03
Werner
Hallo Dave,
das wäre gestochere im Nebel, ich vermute mal, dass es sich um kein echtes Datum handelt oder so. Lade mach eine Beispieldatei hoch bei der es nicht klappt.
Aber bitte eine xls, also ohne Makros. Dateien mit Makros kann ich im Moment nicht herunterladen.
Gruß Werner
AW: Was mir gerade auffällt!!!!
25.11.2016 02:21:22
Werner
Hallo Dave,
ist wohl der Zeit geschuldet (bei mir), dass mir das nicht aufgefallen ist.
Aber schau dir mal das Datum an, das nicht gelöscht wird.
In meinem Kalender gibt es den 31.04. (egal in welchem Jahr) nicht.
Gruß Werner

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige