Microsoft Excel

Herbers Excel/VBA-Archiv

komplette arbeismappe | Herbers Excel-Forum


Betrifft: komplette arbeismappe von: Ralf
Geschrieben am: 31.12.2009 10:39:41

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ß

  

Betrifft: AW: komplette Arbeitsmappe von: Mike
Geschrieben am: 31.12.2009 10:44:19


Hey Ralf,

erstell ein Modul und verschieb das Makro dorthin.

Gruss
Mike


  

Betrifft: AW: komplette Arbeitsmappe von: Ralf
Geschrieben am: 31.12.2009 10:58:54

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



  

Betrifft: AW: komplette Arbeitsmappe von: hary
Geschrieben am: 31.12.2009 11:08:20

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


  

Betrifft: AW: korrektur von: hary
Geschrieben am: 31.12.2009 11:13:03

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

With ActiveSheet
     
           End With



  

Betrifft: Sauber so klappt es Danke von: Ralf
Geschrieben am: 31.12.2009 12:17:53

Danke