Guten Morgen,
ich habe eine Urlaubsübersicht erstellt und Hab hier Tabellen für die Monate und ein Tabellenblatt mit Grunddaten. Wenn ein neuer Mitarbeiter hinzukommt, lege ich per Makro einen neuen Eintrag in den Grunddaten an und in den entsprechenden Monaten.
In der Tabelle Grunddaten mache ich das mit diesem Code:
Und in den einzelnen Monaten mit diesem Code:
Nun würde ich diese beiden gern verbessern / miteinander verbinden. Sprich, wenn ich in den Grunddaten einen neuen Mitarbeiter anlege, das er das in den Monaten auch tut.
Mein Problem dabei ist, das wir bei uns in der Firma auch oft Mitarbeiter zeitlich begrenzt oder projektorrientiert angestellt haben. Sprich sie sind erst ab nem bestimmten Monat da und auch wieder weg.
Ich würde es gern mit einer Eingabeaufforderung beim anlegen in den Grunddaten festlegen, ab wann und bis wann dieser Mitarbeiter in der Firma ist und am liebsten die Tabellennamen im Makro als Zahl definieren.
Beispiel: Herr Pimpelhuber kommt im Juli in die Firma und bleibt bis Dezember.
Ablauf: In den Grunddaten auf Neu klicken, Namen und Urlaubstage angeben und die Monate angeben (hier 07 - 12) und dann legt das Makro den Mitarbeiter in den Monaten Juli - Dezember an.
Das wäre mein Wunsch? Jemand ne Idee?
Die angehängte Datei ist eine Musterdatei, die meiner Liste aber im Aufbau ähnlich ist. Original kann ich aus Datenschutz Gründen nicht einstellen.
Bemerkung: CROSSPOSTING bei : http://www.ms-office-forum.net/forum/sho...ost1818182
ich habe eine Urlaubsübersicht erstellt und Hab hier Tabellen für die Monate und ein Tabellenblatt mit Grunddaten. Wenn ein neuer Mitarbeiter hinzukommt, lege ich per Makro einen neuen Eintrag in den Grunddaten an und in den entsprechenden Monaten.
In der Tabelle Grunddaten mache ich das mit diesem Code:
Code:
Sub Neuanlegen()
Dim strInput As String
Dim lngZeile As Long
'Aufforderuung zur eingabe des Namens'
strInput = InputBox("Name: ")
If Len(strInput) > 0 Then
lngZeile = Application.Max(5, Cells(Rows.Count, 2).End(xlUp).Row + 1)
Cells(lngZeile, 2).Value = strInput
End If
'Aufforderuung zur eingabe der Urlaubstage'
strInput = InputBox("vorhandener Erholungsurlaub: ")
If Len(strInput) > 0 Then
lngZeile = Application.Max(5, Cells(Rows.Count, 3).End(xlUp).Row + 1)
Cells(lngZeile, 3).Value = strInput
End If
'Aufforderuung zur eingabe der Sonderurlaubstage'
strInput = InputBox("vorhandener Sonderurlaub: ")
If Len(strInput) > 0 Then
lngZeile = Application.Max(5, Cells(Rows.Count, 4).End(xlUp).Row + 1)
Cells(lngZeile, 4).Value = strInput
End If
'Aufforderuung zur eingabe der Stunden'
strInput = InputBox("vorhandene Stunden: ")
If Len(strInput) > 0 Then
lngZeile = Application.Max(5, Cells(Rows.Count, 5).End(xlUp).Row + 1)
Cells(lngZeile, 5).Value = strInput
End If
End Sub
Code:
Sub NeurEintragMonat()
Dim LRow As Long
Dim strInput As String
Dim lngZeile As Long
Dim wks As Worksheet
'berechnent die laufende Nummer
With ActiveSheet
LRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(LRow - 1, "A"), .Cells(LRow, "BR")).AutoFill _
Destination:=.Range(.Cells(LRow - 1, "A"), .Cells(LRow + 1, "BR"))
.Cells(Rows.Count, 2).End(xlUp).Resize(columnsize:=17) _
.SpecialCells(xlCellTypeConstants).ClearContents
End With
'Aufforderuung zur eingabe des Namens'
strInput = InputBox("Name: ")
If Len(strInput) > 0 Then
lngZeile = Application.Max(5, Cells(Rows.Count, 2).End(xlUp).Row + 1)
Cells(lngZeile, 2).Value = strInput
End If
End Sub
Nun würde ich diese beiden gern verbessern / miteinander verbinden. Sprich, wenn ich in den Grunddaten einen neuen Mitarbeiter anlege, das er das in den Monaten auch tut.
Mein Problem dabei ist, das wir bei uns in der Firma auch oft Mitarbeiter zeitlich begrenzt oder projektorrientiert angestellt haben. Sprich sie sind erst ab nem bestimmten Monat da und auch wieder weg.
Ich würde es gern mit einer Eingabeaufforderung beim anlegen in den Grunddaten festlegen, ab wann und bis wann dieser Mitarbeiter in der Firma ist und am liebsten die Tabellennamen im Makro als Zahl definieren.
Beispiel: Herr Pimpelhuber kommt im Juli in die Firma und bleibt bis Dezember.
Ablauf: In den Grunddaten auf Neu klicken, Namen und Urlaubstage angeben und die Monate angeben (hier 07 - 12) und dann legt das Makro den Mitarbeiter in den Monaten Juli - Dezember an.
Das wäre mein Wunsch? Jemand ne Idee?
Die angehängte Datei ist eine Musterdatei, die meiner Liste aber im Aufbau ähnlich ist. Original kann ich aus Datenschutz Gründen nicht einstellen.
Bemerkung: CROSSPOSTING bei : http://www.ms-office-forum.net/forum/sho...ost1818182