|  
                                             
	Ich kenne mich in VBA kaum aus und benötige dringend Hilfe. Ich habe einen Jahresurlaubskalender vom Kollegen übernommen, der leider nicht mehr in der Fa. ist. 
	Jedes Monat hat sein eigenes Tabellenblatt. Es sind in Spalte A die Mitarbeiter aufgeführt, Spalte B der Einsatztag, Spalte C = Arbeitsstunden 
	  
	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	
	
		
			| 
				Name des Mitarbeiters | 
			
				  | 
			
				  | 
			
				Fr | 
			
				Sa | 
			
				So | 
			
				Mo | 
			
				Di | 
			
				Mi | 
			
				Do | 
			
				Fr | 
			
				Sa | 
			
				So | 
			
				Mo | 
			
				Di | 
			
				Mi | 
			
				Do | 
			
				Fr | 
			
				Sa | 
			
				So | 
			
				Mo | 
			
				Di | 
			
				Mi | 
			
				Do | 
			
				Fr | 
			
				Sa | 
			
				So | 
			
				Mo | 
			
				Di | 
			
				Mi | 
			
				Do | 
			
				Fr | 
			
				Sa | 
			
				So | 
			
				Gesamtstd. | 
		 
		
			| 
				  | 
			
				  | 
			
				1 | 
			
				2 | 
			
				3 | 
			
				4 | 
			
				5 | 
			
				6 | 
			
				7 | 
			
				8 | 
			
				9 | 
			
				10 | 
			
				11 | 
			
				12 | 
			
				13 | 
			
				14 | 
			
				15 | 
			
				16 | 
			
				17 | 
			
				18 | 
			
				19 | 
			
				20 | 
			
				21 | 
			
				22 | 
			
				23 | 
			
				24 | 
			
				25 | 
			
				26 | 
			
				27 | 
			
				28 | 
			
				29 | 
			
				30 | 
			
				31 | 
			
				  | 
		 
		
			| 
				Mitarbeiter 1 | 
			
				Sa | 
			
				6 | 
			
				  | 
			
				6 | 
			
				  | 
			
				  | 
			
				5,5 | 
			
				5,5 | 
			
				5,5 | 
			
				  | 
			
				6 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				6 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				6 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				6 | 
			
				  | 
			
				30 | 
		 
		
			| 
				Mitarbeiter 2 | 
			
				Mo | 
			
				5,5 | 
			
				  | 
			
				  | 
			
				  | 
			
				5,5 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				5,5 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				5,5 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				5,5 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				22 | 
		 
		
			| 
				Mitarbeiter 3  | 
			
				Do | 
			
				6 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				6 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				6 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				6 | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				  | 
			
				6 | 
			
				  | 
			
				  | 
			
				  | 
			
				24 | 
		 
	
 
	  
	Für den entsprechenden Arbeitsag sind Formeln hinterlegt die er dann aus Spalte B und C zieht. Wenn ich nun einen Mitarbeiter aber zusätzlich benötige dann trage ich wie im Bsp. die täglichen Sollarbeitsstunden ein. (hier 05.01. bis 07.01. jeweils 5,5 Stunden bei Mitarbeiter 1). Leider erkennt er Kommazahlen die ich eintrage nicht als Zahl und rechnet bei den Gesamtstunden auch nicht mehr. Komischerweise wenn ich volle Zahlen eintrage, wird wieder gerechnet. 
	Ich habe jetzt für das Tabellenblatt das Makro ausgeschaltet und nun rechnet er wiieder mit Kommazahlen. Könnt ihr bitte mal drauf schauen, vielleicht liegt es ja am Makro. Eines noch, wenn ich z.B. auf den Mitarbeiter 1 klicke dann wird für den Miarbeiter gleich ein Urlaubsbeleg in einem anderen Tabellenblatt ausgeführt. Dies möchte ich auch weiterhin behalten. 
	  
	Bzw. jetzt habe ich den Befehl in Zeile 3 geändert auf  
	    If Intersect(Target, Me.Range("AX6:AX99")) Is Nothing Then Exit SubDanke schon mal auf Antworten. 
	Jetzt rechnet er wieder, aber weiß nicht welche Auswirkungen dies für den Rest der Datei bedeutet. 
	  
	Original - Befehl: 
	Private Sub Worksheet_Change(ByVal Target As Range) 
	    If Target.Cells.Count > 1 Then Exit Sub 
	    If Intersect(Target, Me.Range("C6:AG99")) Is Nothing Then Exit Sub 
	    On Error GoTo CleanUp: 
	    With Target 
	        If .Value <> "" Then 
	            Application.EnableEvents = False 
	            .Value = UCase(.Value) 
	        End If 
	    End With 
	CleanUp: 
	    Application.EnableEvents = True 
	End Sub 
	Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
	  
	If Not Intersect(Target, Range("A6:A99")) Is Nothing Then 
	    Selection.Copy 
	    Sheets("Auswertung").Range("B5").PasteSpecial Paste:=xlValues 
	    Sheets("Auswertung").Select 
	    Application.CutCopyMode = False 
	  
	    End If 
	     
	End Sub 
	  
	Sub Einblenden() 
	  
	If Columns("AP:AX").Hidden = True 
	Select Case Target 
	Case "Jan": Columns("AP:AX").Hidden = False 
	  
	End Select 
	End If 
	  
	End Sub 
     |