Informationen und Beispiele zum Thema MsgBox | |
---|---|
![]() |
MsgBox-Seite mit Beispielarbeitsmappe aufrufen |
Betrifft: Nach einem Jahr Werte dazurechnen.
von: Heinz H
Geschrieben am: 08.01.2010 17:22:13
Hallo Leute
Ich habe in B101 das Eintrittsdatum einer Person stehen.
Nun möchte ich wenn 1 Jahr vergangen, (Im Beispiel 01.01.2011) das mir der Wert der von Zelle B102 zur Zelle M40 hinzugerechnet wird.
Das selbe von Zelle B103 in M41 und von B103 in M42
Es geht darum:
Das nach einem Arbeitsjahr ein neuer Urlaub zum Resturlaub bzw.Bildungsurlaub bzw. Pflegefreistellung hinzugerechnet wird.
Könnte mir bitte jemand helfen ?
Gruß
Heinz
01.04.1988
A | B | C | |
101 | Eintrittsdatum | 01.01.2010 | |
102 | Urlaub | 165,00 | |
103 | Bildungsurlaub | 100,00 | |
104 | Pflegefreistellung | 85,00 |
K | L | M | N | O | |
39 | Stand alt | Verbrauch | Stand neu | ||
40 | Urlaub | 56,00 | 19,50 | 36,50 | |
41 | Bildungsurlaub | ||||
42 | Pflegefreistellung |
Formeln der Tabelle | ||||||
|
Betrifft: AW: Teilerfolg
von: Heinz H
Geschrieben am: 08.01.2010 20:29:07
Hallo Leute
Habe einen Teilerfolg.
Nur bei " Range("040") = Range("O40") + Range("B102")"
bekomme ich einen Fehler
Heinz
Sub Urlaub_berechnen() Dim aktdatum, eintrittsdatum As Date aktdatum = Range("G1") eintrittsdatum = Range("B101") If Month(aktdatum) = Month(eintrittsdatum) Then MsgBox "gleiches monat" If Year(aktdatum) > (Year(eintrittsdatum) + 1) Then MsgBox "ok" Range("040") = Range("O40") + Range("B102") End If End If End Sub
Betrifft: AW: Teilerfolg
von: fcs
Geschrieben am: 09.01.2010 07:19:08
Hallo Heinz,
Fehlerursache ist wahrscheinlich ein Tippfehler.
Range("040") = Range("O40") + Range("B102")
Links: Null-Vier-Null als Range-Adresse, das mag Excel nicht so besonders gerne.
Ansonsten:
in Range("O40") und Range("B102") müssen Zahlen stehen, kein Text sonst ggf. Typfehler im Makroablauf.
Off Topic: Jahresurlaub wird üblicherweise immer je Kalender-Jahr von Jan bis Dez bilanziert.
Gruß
Franz
Betrifft: AW: Teilerfolg
von: Heinz H
Geschrieben am: 09.01.2010 09:20:48
Hallo Franz
Habe alles richtig formatiert.
Trotzdem läuft es nicht
Könntest Du es mal bitte testen.
Auf neuen Monat anlegen drücken.
Ab 01.01.1977 müssten in O40 zu den 56,00 noch von B102 165,00 dazugerechnet werden.
Danke
Heinz
https://www.herber.de/bbs/user/67099.xls
Betrifft: AW: Teilerfolg
von: fcs
Geschrieben am: 10.01.2010 00:11:08
Hallo Heinz,
die If-Bedingung zum Verglich der beiden Jahre ist nicht ganz korrekt. Dadrch funktioniert es im 1. Jahr nach der Einstellung nicht. Nachfolgend Makro mit korrkturen.
Gruß
Franz
'NEUEN URLAUB NACH 1 JAHR HINZUFÜGEN Sub Urlaub_berechnen() Dim aktdatum, eintrittsdatum As Date aktdatum = Range("G1") eintrittsdatum = Range("B101") If Month(aktdatum) = Month(eintrittsdatum) Then MsgBox "gleiches monat" If Year(aktdatum) >= (Year(eintrittsdatum) + 1) Then 'neu ' If Year(aktdatum) > (Year(eintrittsdatum) + 1) Then 'alt MsgBox "ok" ' Range("040") = Range("O40") + Range("B102") 'alt Range("O40") = Range("O40") + Range("B102") 'neu End If End If End Sub
Betrifft: AW: Teilerfolg
von: Heinz H
Geschrieben am: 10.01.2010 07:47:47
Guten morgen, Franz
Du bist der größte !!
Quäle mich Stundenlang. Dann so ein dummer Fehler meinerseits.
Recht herzlichen Dank.
Gruß
Heinz