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

Problem - Makro zum Formatieren wenn Datum = X

Problem - Makro zum Formatieren wenn Datum = X
23.08.2017 11:19:08
Johnny
Hallo ihr lieben,
ich versuche im Moment es hinzubekommen dass ich mit VBA eine Datei verändere wenn in einer Zelle ein bestimmtes Datum steht. Habe auch schon viel rumgesucht und probiert aber komme nicht zum Ergebnis. Wahrscheinlich ist es eine ganz einfache Lösung die ich nur als Neuling nicht sehe. Jegliche Hilfe wäre sehr willkommen.
Der Aktuelle Code fürs Makro:
Option Explicit
Sub Makro2()
' Makro2 Makro
Dim wd_Start As Date
Range("A12").Select
Set wd_Start = ActiveCell.Value
If wd_Start = Weekday(5, 2) Then
Rows("4:7").Select
Selection.EntireRow.Hidden = True
Rows("8:11").Select
Selection.EntireRow.Hidden = False
Rows("18:19").Select
Selection.EntireRow.Hidden = True
Rows("34:35").Select
Selection.EntireRow.Hidden = True
Rows("38:39").Select
Selection.EntireRow.Hidden = True
Range("A13").Select
ActiveCell.FormulaR1C1 = "Einkaufen"
With ActiveCell.Characters(Start:=1, Length:=9).Font
.Name = "Arial"
.FontStyle = "Fett"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Else
End If
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Problem - Makro zum Formatieren wenn Datum = X
23.08.2017 11:55:08
Werner
Hallo Johnny,
nur mal zwei Sachen:
Set wd_Start = Range("A12").Value

Nur Range Objekte werden mit Set zugewiesen.
Das müsste richtig so lauten:
wd_Start = Range("A12").Value
Und was willst du hiermit prüfen?
If wd_Start = Weekday(5, 2) Then
Im Übrigen kann man (und sollte man auch) die ganzen Selects weg lassen.
Gruß Werner
AW: Problem - Makro zum Formatieren wenn Datum = X
23.08.2017 12:38:48
Johnny
Hallo Werner, erstmal vielen Dank, hab ich geändert.
Das Makro läuft so aber es passiert nichts.
If wd_Start = Weekday(5, 2) Then
Das soll überprüfen ob die Zelle A12 ein Freitag ist, und wenn ja den Code ausführen.
Nehme an das stimmt so auch noch nicht?
Anzeige
AW: Problem - Makro zum Formatieren wenn Datum = X
23.08.2017 13:40:25
Johnny

If Weekday(wd_Start) = Weekday(5, 2) Then
Das habe ich jetzt auch versucht, zieht auch nicht. Ich denke ich verstehe woran es liegt, muss ich evtl den Wochentag bereits in Excel über ne Formel generieren und dann erst VBA ranlassen?
AW: Problem - Makro zum Formatieren wenn Datum = X
23.08.2017 15:48:18
Robert
Nur mal zur Klärung:
Die Weekday-Funktion ergibt einen Integer-Zahlenwert der den Wochentag eines bestimmten Datums mit einem bestimmten Wochenstart-Tag. Die Syntax lautet Weekday(Datum, ErsterTagDerWoche). Du ermittelst mit Deiner Funktion Weekday(5 ,2) den Wochentag des 5. Januar 1900, wenn Montag der Wochenbeginn darstellt (der 1.Januar 1900 ist für die Excel-interne Zählung des Datum der Startwert 1). Das Ergebnis der Funktion ist 4.
Wilst Du wirklich den Wochentag des 5. Januar 1900 mit dem Datum aus A12 bzw. dem Wochentag aus A12 vergleichen?
Gruß
Robert
Anzeige
AW: Problem - Makro zum Formatieren wenn Datum = X
23.08.2017 20:50:03
Werner
Hallo Johnny,
teste:
Option Explicit
Sub Makro2()
Dim wd_Start As Date
wd_Start = CDate(Range("A12"))
If Weekday(wd_Start) = 6 Then
Rows("4:7").EntireRow.Hidden = True
Rows("8:11").EntireRow.Hidden = False
Rows("18:19").EntireRow.Hidden = True
Rows("34:35").EntireRow.Hidden = True
Rows("38:39").EntireRow.Hidden = True
Range("A13") = "Einkaufen"
With Range("A13").Characters(Start:=1, Length:=9).Font
.Name = "Arial"
.FontStyle = "Fett"
.Size = 10
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Else
End If
End Sub
Gruß Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige