Clever-Excel-Forum

Normale Version: Differenz zweier markierter Zellen in einer Spalte
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen.

wie kann ich über VBA folgendes erreichen?

Ich mache per Doppelklick auf z.B. A7 eine Kopie des Wert dieser Zelle nach B1.
Dann das gleiche mit Z.B. A15 nach B2.

Nur weiß ich nicht wie ich Excel sagen soll,
dass der erste Doppelklick nach B1 geht und der 2. Doppelklick nach B2.

Ist das überhaupt möglich die Anzahl der Doppelklicks zu zählen?

Danach muss der Zähler wieder auf Null gehen, damit es wieder von vorne beginnt.

Vielen Dank für eine VBA Idee dazu.
Also soll abwechselnd in B1/B2 geschrieben werden, verstehe ich das richtig? Eine simple Lösung (wenn auch nicht „sauber“) wäre eine globale Variable vom Typ Range, in der du das letzte Ziel sicherst.
Wie meinst du das mit "Ziel sicherst"?
Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, C As Boolean)
If T.Column = 1 Then
  [C1] = [C1] + 1
  If [C1] Mod 2 Then [B1] = T Else [B2] = T
  C = True
End If
End Sub

Den Betreff hast Du nicht ganz getroffen.
Hallo Achim,

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Len(Range("B2")) Then
    Range("B1").Value = Target.Value
    Range("B2") = ""
  Else
    Range("B2").Value = Target.Value
  End If
  Cancel = True
End Sub

Gruß Uwe
(05.05.2023, 19:06)maine-coon schrieb: [ -> ]Wie meinst du das mit "Ziel sicherst"?
Man „sichert“ Werte programmintern, indem man sie in Variable packt. 

Pseudocode:

PHP-Code:
Public as Range

Event DoubleClick
(Target)
   If t is Nothing then 
      set T 
Range („B1“)
   ElseIf T.Address „$B$1“ then
      Set t 
Range(„B2“)
   Else
      Set t 
Range („B1“)
   End if
T.value Target.Value 
Vielen Dank an alle.
Es funktioniert einwandfrei.

Schönen Abend noch.