2017-09-04 17 views
0

Ich habe zwei funktionierende Worksheet_Change-Code und ich möchte beide auf dem gleichen Blatt verwenden. Wenn ich sie einzeln benutze, funktionieren beide, aber wenn ich sie zusammen benutze, tun sie es nicht. Ich habe versucht, zwei verschiedene Codes einzufügen, aber ich habe einen mehrdeutigen Namen Fehler gefunden. Ich habe auch versucht, elseif zu verwenden, aber keiner von ihnen hat funktioniert. Die beiden Codes:Excel-Makro kombinieren zwei Worksheet_Change-Code

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Intersect(Range("O:O"), Target) Is Nothing Then 
     Cells(Target.Row, 17).Value = Date 
    End If 
End Sub 

und

Private Sub Worksheet_Change(ByVal Target As Excel.Range) 
    If Target.Column = 15 Then 
     Range("P" & Target.Row).Value = Target.Value + Range("P" & Target.Row).Value 
     Application.EnableEvents = False 
     Target.Value = "" 
     Application.EnableEvents = True 
    End If 
End Sub 

Vielen Dank für Ihre Hilfe

Antwort

0

Sie nur beide workshett setzen kann Ereignisse ändern in der gleichen Unter

Private Sub Worksheet_Change(ByVal Target As Range) 
     If Not Intersect(Range("O:O"), Target) Is Nothing Then 
      Cells(Target.Row, 17).Value = Date 
     End If 

     If Target.Column = 15 Then 
      Range("P" & Target.Row).Value = Target.Value + Range("P" & Target.Row).Value 
      Application.EnableEvents = False 
      Target.Value = "" 
      Application.EnableEvents = True 
     End If 
    End Sub 
+0

danke es funktioniert! –

0

Versuchen so ...

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target.CountLarge > 1 Then Exit Sub 
    If Not Intersect(Range("O:O"), Target) Is Nothing Then 
     Application.EnableEvents = False 
     Cells(Target.Row, 17).Value = Date 
     Range("P" & Target.Row).Value = Target.Value + Range("P" & Target.Row).Value 
     Target.Value = "" 
     Application.EnableEvents = True 
    End If 
End Sub 
+0

Vielen Dank. Es funktioniert auch. –

+0

@ AndrásKrämer Haben Sie den Unterschied zwischen Ihrer angenommenen Antwort und der von mir vorgeschlagenen Antwort bemerkt? Es sollte für Sie nicht wichtig sein, wenn beide Lösungen funktionieren, wichtig ist, wie die Ereigniscodes korrekt gehandhabt werden sollten. Es gibt zu viel für Sie, um aus dem Code zu lernen, den ich vorgeschlagen habe, wenn Sie Ihren nächsten Ereigniscode schreiben möchten, ohne Hilfe zu nehmen. :) – sktneer