Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Excel VBA Makro Schaltjahr abfragen
zurück: Spalten mit Referenz-Tabellen abgleichen weiter: String aus Liste in Zelle suchen und ersetzen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Snake566977
Admin NICHT Anwender


Verfasst am:
29. Nov 2012, 09:49
Rufname:

Excel VBA Makro Schaltjahr abfragen - Excel VBA Makro Schaltjahr abfragen

Nach oben
       Version: Office 2003

Hallo Leute,

ich habe ein Excelsheet mit 13 Sheets. Wobei 1-12 jeweils für die Monate des Jahres stehen.

Auf jeden Sheet gibt es dann eine Spalte (B) in der die Tage von 1-31 stehen.
Dabei steht in der ersten Zeile (B5) das Datum und die Restlichen bestehen aus der Addition +1.

B6=B5+1
B7=B6+1
etc.

Das Problem ist nun, aber das Schaltjahr.

via VBA ändere ich das Jahr immer
Code:
Sheets("Januar").Range("B5").Value = DateSerial(Year(Sheets("Januar").Range("B5").Value) + 1, 1, 1)


Jetzt möchte ich natürlich eine IF Klausel einbauen, die je nachdem ob Schaltjahr ist dann im Sheet "Februar" in B33 den Value B32+1 rein schreibt oder eben nicht.

Dazu muss der Code eine Sache können.

- Auslesen von B5 (Value z.B. "01.02.2012") und prüfen ob es ein Schaltjahr ist.

Danach ist es ja wieder Simpel, einfach eine IF Klausel, und wenn die WAHR ist
Code:
Sheets("Februar").Range("B33").Value = "=B32+1"
Snake566977
Admin NICHT Anwender


Verfasst am:
29. Nov 2012, 10:04
Rufname:


AW: Excel VBA Makro Schaltjahr abfragen - AW: Excel VBA Makro Schaltjahr abfragen

Nach oben
       Version: Office 2003

Ok, war zu einfach.

Code:
If (Sheets("Februar").Range("B5").Value Mod 4 = 0 And Sheets("Februar").Range("B5").Value Mod 100 <> 0) Or _
    (Sheets("Februar").Range("B5").Value Mod 400 = 0) Then
   
    Sheets("Februar").Range("B33").Value = "=B32+1"
   
    Else
    Sheets("Februar").Range("A33:B33").ClearContents
    End If
Winny
Advanced Rookie


Verfasst am:
29. Nov 2012, 10:49
Rufname: Winny

AW: Excel VBA Makro Schaltjahr abfragen - AW: Excel VBA Makro Schaltjahr abfragen

Nach oben
       Version: Office 2003

Hi,

oder so
Zitat:
If Day(Cells(5, 2) + 28) = 29 Then


oder gleich so befüllen, passt wenn das Blatt aktiviert ist
Code:
Sub fillDates()
   Dim iLastRow As Integer
   iLastRow = Day(DateSerial(Year(Cells(5, 2)), Month(Cells(5, 2)) + 1, 0)) + Cells(5, 2).Row - 1
   With Range(Cells(6, 2), Cells(iLastRow, 2))
      .FormulaR1C1 = "=R[-1]C + 1"
      .Value = .Value
   End With
End Sub

_________________
Grüße,
Winny
Snake566977
Admin NICHT Anwender


Verfasst am:
29. Nov 2012, 11:03
Rufname:

AW: Excel VBA Makro Schaltjahr abfragen - AW: Excel VBA Makro Schaltjahr abfragen

Nach oben
       Version: Office 2003

Musste auch gerade feststellen, das die Simple Formel nicht funktioniert.

Diese gibt 2015 nehmlich ein Schaltjahr aus.

Bei deinem Code steig ich gerade noch nicht durch, muss nochmal gucken, wie der arbeitet.
Isabelle :-)
Menschin


Verfasst am:
29. Nov 2012, 11:09
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis


AW: Excel VBA Makro Schaltjahr abfragen - AW: Excel VBA Makro Schaltjahr abfragen

Nach oben
       Version: Office 2003

Hallöchen,

schau mal: http://www.office-loesung.de/ftopic174096_0_0_asc.php

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%
Snake566977
Admin NICHT Anwender


Verfasst am:
29. Nov 2012, 11:21
Rufname:

AW: Excel VBA Makro Schaltjahr abfragen - AW: Excel VBA Makro Schaltjahr abfragen

Nach oben
       Version: Office 2003

Das Problem ist das ich bei Day ein Syntaxfehler bekomme.

Cells reicht aber nicht aus, da ich ihm erstmal das Sheet geben muss.

Code:
Day(Sheets("Februar").Range("B5") + 28) = 29 Then
Phelan XLPH
Fortgeschritten


Verfasst am:
29. Nov 2012, 11:22
Rufname: Phelan

AW: Excel VBA Makro Schaltjahr abfragen - AW: Excel VBA Makro Schaltjahr abfragen

Nach oben
       Version: Office 2003

Hallo,

in B6 eintragen und bis B35 runterziehen:
=WENN(B5="";"";WENN(MONAT(B5+1)=MONAT(B5);B5+1;""))
Snake566977
Admin NICHT Anwender


Verfasst am:
29. Nov 2012, 11:33
Rufname:

AW: Excel VBA Makro Schaltjahr abfragen - AW: Excel VBA Makro Schaltjahr abfragen

Nach oben
       Version: Office 2003

@Isabelle

Leider bei der das gleiche Problem, wie bei meiner ersten Lösung. 2015 wird als Schaltjahr verkauft.

So sah mein Code nach der Umstellung aus.
Code:
If Sheets("Februar").Range("B5") Mod 4 = 0 And (Sheets("Februar").Range("B5") Mod 100 <> 0 Xor Sheets("Februar").Range("B5") Mod 400 = 0) Then


@Phelan XLPH
Steig durch den Code nicht durch, aber es funktioniert. Genial und so einfach.

Ich danke dir.
Nicolaus
Hobby-VBAler


Verfasst am:
29. Nov 2012, 12:23
Rufname: Nic
Wohnort: Rhein Main Gebiet


AW: Excel VBA Makro Schaltjahr abfragen - AW: Excel VBA Makro Schaltjahr abfragen

Nach oben
       Version: Office 2003

Hi,

hab da gleich mehrere Möglichkeiten,
Entweder testest du ob das Jahr durch 4 Teilbar ist:
Code:
If Year(Sheets("Februar").Range("B5").Value) / 4 = Int(Year(Sheets("Februar").Range("B5").Value) / 4) Then
    Sheets("Februar").Range("B33").Formula = "=B32+1"
Else
    Sheets("Februar").Range("A33:B33").ClearContents
End If



oder du lässt es erst mal reinschreiben und testest dann, ob beide Zellen den selben Monat haben,
wenn nicht wird wieder rausgelöscht.
Code:
Sheets("Februar").Range("B33").Formula = "=B32+1"
If Month(Sheets("Februar").Range("B32").Value) <> Month(Sheets("Februar").Range("B33").Value) Then Sheets("Februar").Range("A33:B33").ClearContents

Das ist das selbe was Phelan mit seiner Formel macht.

Gruss
Nic

_________________
die Forenhelfer freuen sich über eine Antwort
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: UserID / Computername via Excel abfragen 2 RippleN 3477 27. März 2007, 13:31
RippleN UserID / Computername via Excel abfragen
Keine neuen Beiträge Excel Formeln: gleiche Werte abfragen 3 Gastt 803 07. März 2007, 00:02
Gast gleiche Werte abfragen
Keine neuen Beiträge Excel Formeln: Excel Makro das die aktuelle Zeit in hh:mm:ss einfügt 1 Duuuuude 2146 19. Feb 2007, 11:04
ex*cel*pert Excel Makro das die aktuelle Zeit in hh:mm:ss einfügt
Keine neuen Beiträge Excel Formeln: Excel: Verketten Wenn (Makro?) 11 Sarah1981 4108 08. Feb 2007, 10:59
Gast Excel: Verketten Wenn (Makro?)
Keine neuen Beiträge Excel Formeln: mehrere SQL Abfragen in Excel mit MS Query.... 2 mercutio999 1817 26. Jan 2007, 15:59
timme mehrere SQL Abfragen in Excel mit MS Query....
Keine neuen Beiträge Excel Formeln: End up, Markieren, Löschen mit Makro 10 detlef42 1290 21. Nov 2006, 16:13
Detlef 42 End up, Markieren, Löschen mit Makro
Keine neuen Beiträge Excel Formeln: Bedingte Formatierung nicht drucken? (oder Makro?) 1 Gast 1223 23. Aug 2006, 13:46
Cabation Bedingte Formatierung nicht drucken? (oder Makro?)
Keine neuen Beiträge Excel Formeln: Summe mit 2 Abfragen 2 jaeger1977 505 28. Jul 2006, 13:51
jaeger1977 Summe mit 2 Abfragen
Keine neuen Beiträge Excel Formeln: Makro durch Funktion starten 11 Borsty22 12858 01. Apr 2006, 18:35
Hübi Makro durch Funktion starten
Keine neuen Beiträge Excel Formeln: 2 Abfragen in Excel 2 Toni299 699 04. Jan 2006, 13:08
Toni299 2 Abfragen in Excel
Keine neuen Beiträge Excel Formeln: makro beim öffnen starten und werte auswählen 0 werner100 636 24. Nov 2005, 13:30
werner100 makro beim öffnen starten und werte auswählen
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Excel Formeln: Wer kann mir ein Makro erstellen?????? wäre echt nett 1 jvakleve61 2456 28. Okt 2005, 05:55
ae Wer kann mir ein Makro erstellen?????? wäre echt nett
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks