Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Differenz zweier markierter Zellen in einer Spalte
#1
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.
Antworten Top
#2
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.
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipediadie Tafeln oder aktion-deutschland-hilft.de
Antworten Top
#3
Wie meinst du das mit "Ziel sicherst"?
Antworten Top
#4
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.
Antworten Top
#5
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
Antworten Top
#6
(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 
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipediadie Tafeln oder aktion-deutschland-hilft.de
Antworten Top
#7
Vielen Dank an alle.
Es funktioniert einwandfrei.

Schönen Abend noch.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste