Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Urlaub sonja.ausHH an Peter

Urlaub sonja.ausHH an Peter
12.02.2007 01:54:47
sonja.ausHH
Hallo Peter,
kannst Du mir bitte noch einmal helfen?
Mit Deiner folgenden Routine werden die Einträge in Tabelle "Urlaub" gemacht.
' die Eingaben sind gültig, nun kann mit dem Einfügen der Werte begonnen werden
'
' die erste Datenzeile ist die Zeile 11 - deshalb Beginn bei +10
'
For iZeile = (iLfdTag_V + 10) To (iLfdTag_B + 10)
bGefunden = False
dDatum = dBasis + iZeile - 11
For iZeile_F = 5 To Worksheets("Feiertage").Range("A65536").End(xlUp).Row
If IsDate(Worksheets("Feiertage").Range("A" & iZeile_F).Value) Then
If dDatum = CDate(Worksheets("Feiertage").Range("A" & iZeile_F).Value) Then
bGefunden = True
Exit For
End If
End If
Next iZeile_F
If Weekday(dDatum) = 1 Or _
Weekday(dDatum) = 7 Or _
bGefunden = True Then ' Feiertag, Sonnabend oder Sonntag ?
Else
Cells(iZeile, iSpalte).Value = TextBox3.Value ' Spalte markieren
End If
Next iZeile
Ich versuche nun schon das halbe Wochenende die Routine so umzuschreiben, dass damit auch ein Eintrag in die Tabelle "Urlaubsschein" gemacht werden kann.(Nicht in eine Spalte, sondern in 12 Zeilen, je Monat eine Zeile).puuuuh, bin ich noch zu dumm zu.
Der "Urlaubsschein" wird zwar momentan noch per Exelformeln ausgefüllt, aber mitlerweile habe ich gemerkt dass dieses nicht ausreicht, es muss in VBA sein, da auch mehrere Daten übernommen werden sollen.
Eine Userform habe ich schon erstell, die Urlaubsdaten sind eingelesen (zb. 02.05.2007 U 15.05.2007)...., aber jetzt gehts leider nicht mehr weiter. Ich bekomme es einfach nicht hin mit den Eintragungen in den einzelnen Zeilen für die Monate. Und wie ist das mit dem 29.02. ? ist sicher auch schwer hinzubekommen.
Die Daten werden von den Variablen, DatumV,sText(ist die Art),DatumB u. Mitarbeiter, übergeben.
Ich bin Dir sehr dankbar wenn Du mir da noch einmal auf die Sprünge helfen könntest.
Wochenende ist vorbei
schöne Woche
sonja.ausHH

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Urlaub sonja.ausHH an Peter
12.02.2007 11:33:31
Peter
Hallo Sonja,
ich würde dir ja gern helfen, verstehe jedoch im Moment noch nicht so ganz, was du möchtest.
Du hast ein UserForm(ular) inn dem du Datums-Werte von bis eingibst.
Die sollen in das Blatt "Urlaubsschein" in Spalten je Monat eingetragen werden.
Fragen:
Welche Spalten sind das?
Was ist beim monatsübergreifenden Urlaubsanträgen?
Wie (was) soll in die Monatsspalten eingetragen werden?
In den Profilen (Siehe Hans W. Herbers Seite unter Excel-Basics nicht mehr ganz lesbar Forums-) da klick drauf, dann findest du die Profile und da meine E-Mail Adresse.
Da könntest du mir eine Mustermappe schicken.
Viele Grüße Peter
Anzeige
AW: Urlaub sonja.ausHH an Peter
12.02.2007 13:12:55
Peter
Hallo Sonja,
auf der Basis des Urlaubsschein, den ich aus einer Mustermappe von dir habe, in der der Kalender im Bereich A21-AF33 steht, habe ich beigefügte Makro-Erweiterung für das UserForm(ular)3 entwickelt:


'
'   das Tabellenblatt "Urlaubsschein" bearbeiten
'
   With Worksheets("Urlaubsschein")
      dBasis = CDate(TextBox1.Value)     ' Basis-Datum festhalten = 1. Urlaubstag
      For iZeile_U = iLfdTag_V To iLfdTag_B
         iZeile = Month(dBasis) + 21     ' Zeile  im Tabellenblatt ermitteln
         iSpalte = Day(dBasis) + 1       ' Spalte im Tabellenblatt ermitteln
         bGefunden = False               ' Schalter auf NICHT gefunden setzen
         For iZeile_F = 5 To Worksheets("Feiertage").Range("A65536").End(xlUp).Row
            If IsDate(Worksheets("Feiertage").Range("A" & iZeile_F).Value) Then
               If dBasis = CDate(Worksheets("Feiertage").Range("A" & iZeile_F).Value) Then
                  bGefunden = True       ' Schalter auf gefunden JA setzen
                  Exit For               ' For/Next verlassen
               End If
            End If
         Next iZeile_F                   ' nächste Feiertags-Zeile
         If Weekday(dBasis) = 1 Or _
            Weekday(dBasis) = 7 Or _
            bGefunden = True Then        ' Feiertag, Sonnabend oder Sonntag ?
          Else
            .Cells(iZeile, iSpalte).Value = TextBox3.Value ' Zelle markieren
         End If
         dBasis = dBasis + 1             ' den nächsten Urlaubstag errechnen
      Next iZeile_U                      ' nächste Zelle gemäß Datum
   End With
   Unload UserForm3                      ' UserForm3 entladen
End Sub 


Füge es vor die letzte Zeile Unload UserForm3 und End Sub ein.
Es berücksicht z. Zt. nicht, ob der Urlaubsschein für den Mitarbeiter geplant ist und ebenfalls nicht das Ändern/Löschen des Termins.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige