HERBERS Excel-Forum - das Archiv
komplette arbeismappe
Ralf

Hallo
Ich habe ein makro das ich in VBA Tabelle eingetragen habe jetzt möchte ich das es auf die komplette arbeismappe wirkt alst tabelle 1 - 8 zB. ich habe es in "dieseArbeitsmappe" eingetragen aber das ist wohl nicht richtig könnt ihr mir weiter helfen ?
gruß

AW: komplette Arbeitsmappe
Mike

Hey Ralf,
erstell ein Modul und verschieb das Makro dorthin.
Gruss
Mike
AW: komplette Arbeitsmappe
Ralf

Hallo
Habe jetzt ein modul eingefügt klappt aber noch nicht denke ich muß da noch im Makro etwas ändern
Worksheet ist bestimmt nicht richtig oder
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'   Erstellt von Hajo.Ziplies@web.de am 28.12.02
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
' Bereich der Wirksamkeit
Set RaBereich = Range("D12:F110")
'    ActiveSheet.Unprotect
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
With RaZelle
If .Value <> "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",") <> 0 Then
If Len(Target.Value) > 2 Then
InS = Left(.Value, Len(.Value) - 2)
InM = Mid(.Value, InStr(1, .Value, ",") + 1, Len(.Value) -  _
Len( _
InS) - 1)
If Len(Trim(InM)) < 2 Then InM = InM * 10
Else
'                            Stunden haben das Primat
InS = .Value
InM = 0
'                            Minuten haben das Primat
'                            InS = 0
'                            InM = .Value
End If
.NumberFormat = "[hh]:mm"
.Value = InS & ":" & InM
End If
End If
End With
End If
Next RaZelle
'    ActiveSheet.protect
Application.EnableEvents = True
End Sub

AW: komplette Arbeitsmappe
hary

Hallo Ralf
Code in den Code der Arbeitsmappe.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'   Erstellt von Hajo.Ziplies@web.de am 28.12.02
With ActiveSheet
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
' Bereich der Wirksamkeit
Set RaBereich = Range("D12:F110")
'    ActiveSheet.Unprotect
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
With RaZelle
If .Value <> "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",") <> 0 Then
If Len(Target.Value) > 2 Then
InS = Left(.Value, Len(.Value) - 2)
InM = Mid(.Value, InStr(1, .Value, ",") + 1, Len(.Value) - _
Len( _
InS) - 1)
If Len(Trim(InM)) < 2 Then InM = InM * 10
Else
'                            Stunden haben das Primat
InS = .Value
InM = 0
'                            Minuten haben das Primat
'                            InS = 0
'                            InM = .Value
End If
.NumberFormat = "[hh]:mm"
.Value = InS & ":" & InM
End If
End If
End With
End If
Next RaZelle
End With
'    ActiveSheet.protect
Application.EnableEvents = True
End Sub

gruss hary
AW: korrektur
hary

hallo Ralf
das kannst Du rausnehmen. Damit wollte ich was anderes testen.

With ActiveSheet
End With

Sauber so klappt es Danke
Ralf

Danke