Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Nach einem Jahr Werte dazurechnen. | Herbers Excel-Forum


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

 ABC
101Eintrittsdatum01.01.2010 
102Urlaub165,00 
103Bildungsurlaub100,00 
104Pflegefreistellung85,00 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

01.04.1988

 KLMNO
39  Stand altVerbrauchStand neu
40Urlaub 56,0019,5036,50
41Bildungsurlaub    
42Pflegefreistellung    

Formeln der Tabelle
ZelleFormel
N40=AA36
O40=M40-N40


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

  

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