Dringendes Problem:
Kann ich diese beiden Makros irgendwie zusammenschreiben. Denn mit gleichem Namen funktionieren sie nicht.
Makro 1 erlaubt mir in bestimmten Spalten Werte einzutragen, worauf die Zellen mit einer bestimmten Formatierung reagieren.
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect "red13"
Dim i As Integer
Dim Zahl As Integer
If Target.Count = 1 Then
If Target.Column = 33 Then
For i = 1 To Len(Target.Value)
On Error GoTo w1
Zahl = Zahl & Mid(Target.Value, i, 1)
Next i
w1:
If Zahl = 50 Then
Target.Offset(0, 1).NumberFormat = "0.0"" sec"""
ElseIf Zahl = 75 Then
Target.Offset(0, 1).NumberFormat = "0.0"" sec"""
ElseIf Zahl = 1000 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
ElseIf Zahl = 300 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
ElseIf Zahl = 500 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
End If
End If
If Target.Column = 34 Then
For i = 1 To Len(Target.Value)
On Error GoTo w2
Zahl = Zahl & Mid(Target.Offset(0, -1).Value, i, 1)
Next i
w2:
If Zahl = 1000 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
End If
End If
If Target.Column = 42 Then
For i = 1 To Len(Target.Value)
On Error GoTo w3
Zahl = Zahl & Mid(Target.Value, i, 1)
Next i
w3:
If Zahl = 100 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
ElseIf Zahl = Schlagball Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
ElseIf Zahl = Wurfball Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
ElseIf Zahl = Schleuderball Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
ElseIf Zahl = GeräteKombi Then
Target.Offset(0, 1).NumberFormat = "0.0"" m"""
End If
End If
If Target.Column = 43 Then
For i = 1 To Len(Target.Value)
On Error GoTo w4
Zahl = Zahl & Mid(Target.Offset(0, -1).Value, i, 1)
Next i
w4:
If Zahl = 100 Then
Target.Offset(0, 1).NumberFormat = "[h]:mm"" min"""
End If
End If
End If
ActiveSheet.Protect "red13", userinterfaceonly:=True
ActiveSheet.EnableAutoFilter = True
End Sub
Makro 2 geht es um einen Bearbeiternachweis auf einem weiteren Tabellenblatt nachdem in bestimmten Spalten auf dem 1. Tabellenblatt eingetragen wurde.
Option Explicit
Private Sub CommandButton1_Click()
UserForm1.Show
UserForm1.TextBox1.Text = Sheets("Bearbeiternachweis").Range(ActiveCell.Address).Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
Case 9, 14, 17, 20, 22, 24, 25, 29, 31, 33, 34, 38, 40, 42, 43, 47, 49, 51, 53, 55, 56
Sheets("Bearbeiternachweis").Range(Target.Address).Value = Application.UserName
Case Else
End Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If UserForm1.Visible = True Then UserForm1.TextBox1.Text = Sheets("Bearbeiternachweis").Range( _
ActiveCell.Address).Value
End Sub
Kann mir jemand sagen ob und wie ich das zusammenfügen kann?
Oder kann ich eines umbenennen?