Registriert seit: 18.04.2014
Version(en): Office 2010
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.
26865
Nicht registrierter Gast
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.
Registriert seit: 18.04.2014
Version(en): Office 2010
Wie meinst du das mit "Ziel sicherst"?
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
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.
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
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
26865
Nicht registrierter Gast
(05.05.2023, 20: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 T 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
Registriert seit: 18.04.2014
Version(en): Office 2010
Vielen Dank an alle.
Es funktioniert einwandfrei.
Schönen Abend noch.