Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1464to1468
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

bestimmtes Datum per VBA

bestimmtes Datum per VBA
29.12.2015 08:14:01
Sascha
Hallo,
ist es möglich per VBA ein bestimmtes Datum zu setzen?
Und zwar habe ich in einer Spalte verschiedene Tage stehen in der Form "Fr", "Sa" und "So". Ich möchte das anhand dessen immer bei "Fr" das Datum von nächster Woche Freitag gesetzt wird, bei "Sa" immer das Datum von nächster Woche Samstag usw...
Habe es bisher als Notlösung so gemacht, dass die Datei immer am Freitag erstellt werden muss und dann für "Fr" das Datum heute() + 7 Tage genommen wird.
So muss man das _Datum aber per Hand ändern falls man die Datei mal an einem anderen Tag erstellt.
Vielen Dank im Voraus schon mal :)

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bestimmtes Datum per VBA
29.12.2015 08:27:51
Bernd
Hi, warum VBA?
z.B.: in Zelle A1 =HEUTE()~f~
angenommen in A2 steht Fr, dann in Zelle B2 diese Formel: ~f~=A1+(REST(A1-2;7)+1>5)*7+4-REST(A1-2;7)
usw.
mfg Bernd

AW: Nachtrag,
29.12.2015 08:31:36
Sascha
Zum einen weil die gesamte Datei per VBA erstellt wird aus einer externen Quelle und zum anderen weil in der besagten Spalte kein Datum steht sondern nur die Abkürzung "Fr" usw...

ok, bin dann raus bei VBA owT
29.12.2015 08:35:05
Bernd

AW: bestimmtes Datum per VBA
29.12.2015 09:15:02
Sepp
Hallo Sascha,
un was soll das Setzen des Datums auslösen.
Gruß Sepp

Anzeige
AW: bestimmtes Datum per VBA
29.12.2015 10:26:59
Sascha
Hallo Sepp,
es soll jeweils in der Spalte rechts daneben das Datum der nächsten Woche Freitag, Samstag, Sonntag eingetragen werden.
Spalte B enthält entweder Fr, Sa oder So und in Spalte C soll daneben das jeweilige Datum der Folgewoche eingetragen werden.

AW: bestimmtes Datum per VBA
29.12.2015 11:13:59
Sepp
Hallo Sascha,
das habe ich schon verstanden, aber wodurch sol das Setzen des Datums ausgelöst werden?
Gruß Sepp

AW: bestimmtes Datum per VBA
29.12.2015 11:23:19
Sascha
automatisch während des Erstellens der Datei.
Durch mein fertiges Script wird am Anfang eine Quelldatei ausgewählt und dann werden bestimmte Werte dieser Tabelle in die Zieldatei kopiert und Werte berechnet. Am Ende soll automatisch das Datum gesetzt werden

Anzeige
AW: bestimmtes Datum per VBA
29.12.2015 11:39:43
Sepp
Hallo Sascha,
automatisch ist schon klar, aber egal.
Ruf folgenden Code nach dem Erstellen der Datei auf.
Sub nextWeek()
Dim rng As Range
Dim varDays As Variant, varRet As Variant

varDays = Array("Fr", "Do", "Mi", "Di", "Mo", "So", "Sa")


With Sheets("Tabelle1").Range("A2") 'Zelle in der das Kürzen steht, Tabellenname und Adresse anpassen!
  varRet = Application.Match(.Value, varDays, 0)
  If IsNumeric(varRet) Then
    .Offset(0, 1) = Date + IIf(Format(Date, "ddd") = .Value, 7, 14) - ((Date + varRet) Mod 7)
  End If
End With

End Sub


Gruß Sepp

Anzeige
AW: bestimmtes Datum per VBA
29.12.2015 11:48:00
Sascha
Hallo Sepp,
danke erst mal. Ich habe es jetzt aber mal getestet. Wenn ich deinen Code durchlaufen lasse setzt er mir jetzt für "Sa" das Datum 07.01.2016. Müsste eigentlich der 09.01.2016 sein. Also egal an welchem Tag ich die Datei erstellen würde soll bei Sa immer das Datum nächste Woche Samstag sein. Was muss ich an dem Code anpassen damit es funktioniert?

AW: bestimmtes Datum per VBA
29.12.2015 11:51:49
Sepp
Hallo Sascha,
dann sind deine Vorgaben Falsch!
Bei mir wird bei Sa das ausgegeben.
Tabelle1

 AB
1  
2Sa09.01.2016
3  


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Sepp

Anzeige
AW: bestimmtes Datum per VBA
29.12.2015 12:01:32
Sascha
Hallo Sepp,
hab nochmal geguckt, er macht das in Zelle C4 richtig.
B4 = "So" C4 = 10.01.2016
Das ganze brauche ich aber über die kompletten Spalten ... Also ab B4 bis Bxxxx und das Datum soll dann in C4 bis Cxxxx erscheinen

AW: bestimmtes Datum per VBA
29.12.2015 12:12:41
Sepp
Hallo Sascha,
und warum immer diese Salamitaktik?
Sub nextWeek()
Dim rng As Range
Dim varDays As Variant, varRet As Variant

varDays = Array("Fr", "Do", "Mi", "Di", "Mo", "So", "Sa")

With Sheets("Tabelle1") 'Zelle in der das Kürzen steht, Tabellenname und Adresse anpassen!
  For Each rng In .Range("B4:B" & Application.Max(4, .Cells(.Rows.Count, 2).End(xlUp).Row))
    varRet = Application.Match(rng, varDays, 0)
    If IsNumeric(varRet) Then
      rng.Offset(0, 1) = Date + IIf(Format(Date, "ddd") = rng, 7, 14) - ((Date + varRet) Mod 7)
    End If
  Next
End With

End Sub

Gruß Sepp

Anzeige
AW: bestimmtes Datum per VBA
29.12.2015 12:22:45
Sascha
Vielen Dank Sepp!!! :)
Jetzt funktioniert es einwandfrei. Sorry wenn meine Erklärungen manchmal etwas umständlich sind, was VBA angeht bin ich noch ganz am Anfang und bin froh dieses Forum entdeckt zu haben.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige