Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
508to512
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
508to512
508to512
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bei Klick in Zelle ein X - VBA

Bei Klick in Zelle ein X - VBA
02.11.2004 23:55:40
Jean-Pierre
Hallo zusammen,
wie kann ich folgenden Code so anpassen das man bei einem Klick in der Zelle H,I oder J ein X erzeugt jedoch soll man die Möglichkeit haben, dass ein in Zelle H erzeugtes X durch einen Klick in I oder J das X in H weg ist und entsprechend in I oder J ist?
Das gleiche habe ich nochmal mit den Zellen N und O!
Ferner soll bei einem Klick in den Zellen H,I oder J das aktuelle Datum in Zelle K erzeugt wird.
Das gleiche bei Zelle N und O dann in Zelle P das aktuelle Datum.
Hier der bisherige (leider fehlerhafte Code):

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' erstellt 11.07.2004
' im Bereich H bis J nur ein mal ein X, "X" wird durch Doppelklick in der
' aktiven Zelle nicht entfernt
If Target.Column >= 8 Or Target.Column = 9 Or Target.Column <= 10 Then
ActiveSheet.Unprotect
Cancel = True
If WorksheetFunction.CountIf(Range(Cells(Target.Row, 8), Cells(Target.Row, 10)), "X") = 0 Then Target = "X"
ActiveSheet.Protect
' erstellt 11.07.2004
' im Bereich N bis O nur ein mal X, "X" wird durch Doppelklick in    der
ElseIf Target.Column >= 14 Or Target.Column <= 15 And Target.Row > 1 Then
ActiveSheet.Unprotect
Cancel = True
If WorksheetFunction.CountIf(Range(Cells(Target.Row, 14), Cells(Target.Row, 15)), "X") = 0 Then Target = "X"
ActiveSheet.Protect
End If
End Sub


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column >= 8 And Target.Column <= 10 Then Cells(Target.Row, 11) = Date
If Target.Column >= 14 And Target.Column <= 15 Then Cells(Target.Row, 16) = Date
End Sub

Ich habe schon den Kontakt mit Hajo Z. jedoch scheint er im moment nicht da zu sein.
Da ich in VBA nicht so Fit bin komme ich nicht auf die Lösung.
Gruß aus Berlin
Jean-Pierre

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Klick in Zelle ein X - VBA
03.11.2004 00:36:15
Jens_Pu
Hallo Jean-Pierre,
meinst Du das so?


      
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
' erstellt 11.07.2004
    ' im Bereich H bis J nur ein mal ein X, "X" wird durch Doppelklick in der
    ' aktiven Zelle nicht entfernt
    If Target.Column >= 8 And Target.Column <= 10 Then
        ActiveSheet.Unprotect
        Cancel = 
True
        
If WorksheetFunction.CountIf(Range(Cells(Target.Row, 8), Cells(Target.Row, 10)), "X") = 0 Then
          Target = "X"
        
Else
          Range(Cells(Target.Row, 8), Cells(Target.Row, 10)).Value = ""
          Target = "X"
        
End If
        ActiveSheet.Protect
    
' erstellt 11.07.2004
    ' im Bereich N bis O nur ein mal X, "X" wird durch Doppelklick in    der
    ElseIf Target.Column >= 14 And Target.Column <= 15 And Target.Row > 1 Then
        ActiveSheet.Unprotect
        Cancel = 
True
        
If WorksheetFunction.CountIf(Range(Cells(Target.Row, 14), Cells(Target.Row, 15)), "X") = 0 Then
          Target = "X"
        
Else
          Range(Cells(Target.Row, 14), Cells(Target.Row, 15)) = ""
          Target = "X"
        
End If
        ActiveSheet.Protect
    
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  
If Target.Column >= 8 And Target.Column <= 10 Then Cells(Target.Row, 11) = Date
  
If Target.Column >= 14 And Target.Column <= 15 Then Cells(Target.Row, 16) = Date
End Sub 


Gruß Jens
Anzeige
Danke...das war es!
03.11.2004 03:35:41
Jean-Pierre
Hallo Jens,
danke das war's!
Gruß aus Berlin
Jean-Pierre

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige