Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1640to1644
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

VBA: Datum heute < 3 Monate

VBA: Datum heute < 3 Monate
01.09.2018 14:36:58
Bernd
Hallo zusammen,
Bräuchte mal Hilfe.
Mein Problem: In Spalte B Tab1 sind nur Datumswerte. Ich möchte erreichen, wenn die Datei gestartet wird, dass die SpalteB in Tab1 Zelle für Zelle überprüft wird, ob das jeweilige Datum in Zelle kleiner ist als heute -3 Monate, wenn ja erhöhe in der jeweiligen Zelle das Datum um ein Jahr. Wenn nein mache in der Zelle nichts. Und das ganze in VBA.
Als Formel habe ich das so gemacht, allerdings mit Hilfsspalte "=WENN(DATEDIF(B1;A1;"m");DATUM(JAHR(B1)+1;MONAT(B1);TAG(B1));B1)"
Vielen Dank schon mal im Voraus!!!
Userbild
Office Version 2016 Pro 32bit - Windows10 Pro 64 bit
"Wenn du jemanden ohne Lächeln triffst, schenke ihm dein's!"

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

Betreff
Datum
Anwender
Anzeige
AW: VBA: Datum heute < 3 Monate
01.09.2018 15:14:55
Sepp
Hallo Bernd,
Sub bernd()
  Dim varDate As Variant, varItem As Variant, lngIndex As Long

  With Sheets("Tabelle1") 'Tabellenname - Anpassen! 
    varDate = .Range("B1:B" & .Cells(.Rows.Count, 2).End(xlUp).Row)
    For lngIndex = 1 To Ubound(varDate, 1)
      If IsDate(varDate(lngIndex, 1)) Then
        If DateAdd("m", 3, varDate(lngIndex, 1)) < Date Then
          varDate(lngIndex, 1) = DateAdd("yyyy", 1, varDate(lngIndex, 1))
        End If
      End If
    Next
    .Range("B1").Resize(Ubound(varDate, 1), 1) = varDate
  End With
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: VBA: Datum heute < 3 Monate
01.09.2018 15:26:22
Bernd
Hallo Sepp,
Vielen Danke für deine schnelle Hilfe.
Genauso sollte es funktionieren, spitzenmäßig!!!
Sonnige Grüße aus Bremen
Bernd
AW: VBA: Datum heute < 3 Monate
01.09.2018 15:40:20
Bernd
Hallo Sepp,
mir kommt noch eine Frage in den Sinn und zwar wenn ich mehrere Blätter abfrage hatte ich angenommen es geht über "Sheets(Array" aber das funktioniert nicht. Kannst du mir sagen wie ich deinen Code ändern müsste?
Danke im Voraus!!!
Gruß
Bernd
AW: VBA: Datum heute < 3 Monate
01.09.2018 15:52:12
Sepp
Hallo Bernd,
Sub bernd()
  Dim varDate As Variant, varItem As Variant, lngIndex As Long
  Dim objWS As Worksheet
  
  For Each objWS In Sheets(Array("Tabelle1", "Tabelle2"))
    With objWS
      varDate = .Range("B1:B" & .Cells(.Rows.Count, 2).End(xlUp).Row)
      For lngIndex = 1 To Ubound(varDate, 1)
        If IsDate(varDate(lngIndex, 1)) Then
          If DateDiff("m", varDate(lngIndex, 1), Date) > 3 Then
            varDate(lngIndex, 1) = DateAdd("yyyy", 1, varDate(lngIndex, 1))
          End If
        End If
      Next
      .Range("B1").Resize(Ubound(varDate, 1), 1) = varDate
    End With
  Next
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: VBA: Datum heute < 3 Monate
01.09.2018 15:59:10
Bernd
Hallo Sepp,
Klasse, danke für deine Bemühungen. Ich werd dich in mein Nachtgebet einschliessen, gelle ;-)
Sonnige Grüße aus Bremen
Bernd
PS. Werder führt gegen Frankfurt 1:0

340 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige