habe heute ein Problem, welches recht schwierig für mich zu beschreiben ist. Ich werde es trotzdem mal versuchen, in der Hoffnung jemand versteht mich und kann mir helfen.
Habe ein Tabellenblatt in dem die Monate des Jahres dargestellt sind. Hinter jeder Monatsspalte sind einige Spalten frei (im Moment fünf), über denen die Kürzel von Mitarbeitern stehen. Ich habe nun eine UserForm definiert, bei der jeder Mitarbeiter sein Kürzel und eine Anfangs- und Enddatum eingeben muss. Je nachdem um welchen Mitarbeiter es sich handelt, soll der Makro eine, zwei, drei, vier oder fünf Zeilen nach rechts gehen. Dann soll er die Zellen in dieser Spalte die zwischen dem Anfangs- und Enddatum liegen farbig darstellen.
Mit dem beigefügten Makro gelingt es mir zwar die richtige Spalte (je nach Kürzel) auszuwählen und auch die Zelle des Anfangs- und des Enddatums zu markieren. Ich weiss allerdings nicht, wie ich die Zellen dazwischen markieren kann. Vielleicht ist es ja ganz einfach, nur ich als Anfänger habe natürlich damit meine Probleme. Hier der bis jetzt definierte Makro:
Private Sub cmdOK_Click()
Dim datStart As Date, datEnde As Date, datVisum As Variant
Dim intRow As Integer
datStart = DateValue(txtStart.Text)
datEnde = DateValue(txtEnde.Text)
datVisum = txtVisum.Text
Cells.Find(What:=datStart, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
If datVisum = "cp" Then
ActiveCell.Offset(0, 1).Select
With Selection.Interior
.ColorIndex = 5
.Pattern = xlSolid
End With
Cells.Find(What:=datEnde, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.Offset(0, 1).Select
With Selection.Interior
.ColorIndex = 5
.Pattern = xlSolid
End With
End If
If datVisum = "tf" Then
ActiveCell.Offset(0, 2).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Cells.Find(What:=datEnde, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.Offset(0, 2).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
End If
Unload Me
End Sub
Bei dem ganzen handelt es sich um eine Urlaubstabelle. Vielen Dank im voraus bei der Mithilfe diese Nuss zu knacken.
Viele Grüße
Carmen