Ich erstelle eine alte Datei neu. Jedoch bekomme ich im Makro einen Fehler gegenwärtig. Der Fehler ist in der VBA Zeile ;iCol = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Column (gelb markiert) Nun, ich habe keine Ahnung was ich ändern muss. Weiss jemand Rat? Ich benutze als BS Vista SP2.
Die Aufgabe des Makros ist, wenn ich einen Feierttag habe, soll es mit einem Klick (farbige Icons) über alle Mitarbeiter den Tag als frei markieren. Ich möchte auch mit diesem Makro weiterarbeiten, denn es ist von einem Profi aus diesem Forum. Danke
Die Datei sieht so aus. Unten steht das Makro.
JanDez
A | B | C | D | E | F | G | H | I | J | K | L | M | N | |
1 | Sylvester | Neujahr | Berchtoldstag | |||||||||||
2 | 52 | Dezember | KW 1 | Januar | ||||||||||
3 | 28 | 29 | 30 | 31 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | |
4 | Kader | |||||||||||||
5 | 1 | |||||||||||||
6 | 2 | |||||||||||||
7 | 3 | |||||||||||||
8 | 4 | |||||||||||||
9 | 5 | |||||||||||||
10 | 6 | |||||||||||||
11 | Office | |||||||||||||
12 | 7 | |||||||||||||
13 | 8 | |||||||||||||
14 | Konstruktion | 172.00 | ||||||||||||
15 | 9 | |||||||||||||
16 | 10 | |||||||||||||
17 | 11 | |||||||||||||
18 | 12 | |||||||||||||
19 | 13 | |||||||||||||
20 | TLB | 43.00 | ||||||||||||
21 | 14 | |||||||||||||
22 | 15 | |||||||||||||
23 | BC-Center | 225.00 | ||||||||||||
24 | 16 | |||||||||||||
25 | 17 | |||||||||||||
26 | 18 | |||||||||||||
27 | 19 | |||||||||||||
28 | 20 | |||||||||||||
29 | 21 | |||||||||||||
30 | 22 | |||||||||||||
31 | 23 |
Formeln der Tabelle | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
' markiert die freien Arbeitstage über alle Ma's in Jan-Juli
Sub Markieren()
ActiveSheet.Unprotect Password:=""
Dim iCol As Integer, iRow As Integer
Dim rng As Range
iCol = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Column
iRow = 1
With Worksheets("FeiertagJanDez").Columns(iCol)
Do Until IsEmpty(.Cells(iRow))
With Range(.Cells(iRow).Value)
If .Interior.ColorIndex = 15 Then
.Interior.ColorIndex = xlColorIndexNone
.ClearContents
.Borders(xlDiagonalDown).LineStyle = xlNone ' löscht Springerschrägstriche
.Borders(xlDiagonalUp).LineStyle = xlNone
Else
.Interior.ColorIndex = 15
.Font.ColorIndex = 15
.Value = Worksheets("Input").Range("H6").Value ' hier steht die tägliche normale Arbeitszeit
End If
End With
iRow = iRow + 1
Loop
End With
ActiveSheet.Protect Password:=""
End Sub
Gruss Reto