2016-05-24 5 views
1

Anfänger hier! Ich habe diesen Code aus verschiedenen Quellen des Internets ausgeheckt und versuche, es zusammen zu bringen, um harmonisch zusammen zu arbeiten, ohne Erfolg. Jegliche Kommentare wären sehr dankbar :)Versuchen, BeforeDoubleClick Zeile Farbe zwischen den Zeilen ändern B: S und Datum einfügen in A

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object,ByValTarget As Range, Cancel As Boolean) 
If Target.Column > 1 And Target.Column < 20 Then 
If Target.Interior.Color = vbWhite Then 
Sh.Rows(Target.Row).Interior.Color = RGB(200, 162, 200) 
ElseIf Target.Interior.Color = RGB(200, 162, 200) Then 
Sh.Rows(Target.Row).Interior.Color = RGB(255, 192, 203) 
ElseIf Target.Interior.Color = RGB(255, 192, 203) Then 
Sh.Rows(Target.Row).Interior.Color = xlNone 
End If 
Cancel = True 
End If 
End Sub 

und

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
If Not Intersect(Target, Range("A7:A4608")) Is Nothing Then 
Cancel = True 
Target = Format(Now, "DD MMM yyyy, ttttt") 
End If 
End Sub 

Das Datum wird eingefügt immer auf Doubleclick aber die Zeilen nicht für das blutige Leben von mir Farbe ändern, wenn ich den Boden Code vollständig zu entfernen

Ich entschuldige mich auch im Voraus, wenn ich den Code nicht richtig eingefügt habe. Wenn Sie nicht fangen, ich bin ein Neuling < 1 Monat :)

+0

Gibt es einen Grund, warum Sie ein Handler im Modul Thisworkbook und das andere haben in das Blattmodul? –

Antwort

0

Sie beide in einem Modul kombinieren könnte:

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, _ 
          ByVal Target As Range, Cancel As Boolean) 

    If Not Intersect(Target, Sh.Range("A7:A4608")) Is Nothing Then 

     Target.Value = Format(Now, "DD MMM yyyy, ttttt") 
     Cancel = True 

    ElseIf Target.Column > 1 And Target.Column < 20 Then 

     If Target.Interior.Color = vbWhite Then 
      Sh.Rows(Target.Row).Interior.Color = RGB(200, 162, 200) 
     ElseIf Target.Interior.Color = RGB(200, 162, 200) Then 
      Sh.Rows(Target.Row).Interior.Color = RGB(255, 192, 203) 
     ElseIf Target.Interior.Color = RGB(255, 192, 203) Then 
      Sh.Rows(Target.Row).Interior.Color = xlNone 
     End If 
     Cancel = True 

    End If 
End Sub 
Verwandte Themen