Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Textübernahme per Doppelklick
#1
Hallo,

ich habe folgende Aufgabe zu lösen:

Ich möchte gerne einen Text von "Tabelle2" Zelle "B9" in "Tabelle3" in Zelle "A3" eintragen, wenn ich in der Zelle "A3" einen Doppelklick ausführe. Bei einem weiteren Doppelklick in derselbe Zelle "A3" sollte der Text aus "Tabelle2" Zelle "B10" eingetragen werden. Der Vorteil wäre, dass in die betroffene Zelle kein Text eingegeben werden muss, sondern der Text durch Doppelklick automatisch übernommen wird.

Es wäre optimal, wenn ihr Vorschläge zur Lösung dieser Aufgabe habt!
to top
#2
Vielleicht könnt ihr mir bei folgender Problemstellung helfen:

Ich möchte gerne einen Text, der in Zelle "A1" des Tabellenblattes "Tabelle1" eingetragen ist automatisch in Zelle "B1" des Tabellenblattes "Tabelle2" übernehmen, sobald ich einen Doppelklick in dieser Zelle (B1) ausführe. Bei einem weiteren ausgeführten Doppelklick in der Zelle "B1" sollte der Text aus Zelle "A2" es Tabellenblattes "Tabelle1" angezeigt werden. Bei einem dritten Doppelklick sollte dann erneut der Wert aus "Tabelle1" Zelle "A1" eingetragen werden. Der Vorteil dadurch wäre, dass die Eingabe von Text in der Zelle "B1" durch das Doppelklicken ersetzt wird.

Es wäre optimal, wenn ihr Vorschläge zur Lösung dieser Aufgabe habt!
to top
#3
Hi Sunny,

wieso machst du für ein nahezu identisches Problem einen neuen Thread auf? Es hätte doch gereicht, den ersten nochmals nach oben zu holen und mit einem weiteren Beitrag zu ergänzen.

Ich habe die beiden Beiträge mal zusammengeführt.
Gruß Günter
Misserfolg ist eine Chance, es beim nächsten Mal besser zu machen.
(Henry Ford) http://www.sprueche-zum-nachdenken.eu
to top
#4
Hallo,

mit einer Hilfszelle in den Taybellen, in denen der Doppelklick ausgeführt wird, ginge es so:

Code in das Codemodul der Tabelle2

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address(0, 0) = "B1" Then
 If Range("C1") = True Then
   Target.Value = Sheets("Tabelle1").Range("A1").Value
   Range("C1") = False
 Else
   Target.Value = Sheets("Tabelle1").Range("A2").Value
   Range("C1") = True
 End If
 Cancel = True
End If
End Sub


Code in das Codemodul der Tabelle3
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address(0, 0) = "A3" Then
 If Range("C1") = True Then
   Target.Value = Sheets("Tabelle2").Range("B10").Value
   Range("C1") = False
 Else
   Target.Value = Sheets("Tabelle2").Range("B9").Value
   Range("C1") = True
 End If
 Cancel = True
End If
End Sub


Die Hilfszelle ist die Zelle C1 im Code Range("C1") , kann auch eine andere beliebige Zelle sein und muss dann im Code geändert werden.
Gruß Atilla
to top
#5
Hallo Atilla,

danke Dir für Deinen Vorschlag für den Code. Der Code funktioniert bei mir leider nicht. Kannst Du mir bitte den Code erneut angeben auf folgenden Bezug:

Bei Doppelklick in Tabelle 2 - Zelle A1 sollte eine Übernahme der Texte von Tabelle 1 - Zelle B1 erfolgen.
Bei erneuten Doppelklick in Tabelle 2 - Zelle A1 sollte eine Übernahme der Texte von Tabelle 1 - Zelle B2 erfolgen.
Bei erneuten Doppelklick in Tabelle 2 - Zelle A1 sollte eine Übernahme der Texte von Tabelle 1 - Zelle B3 erfolgen.

Vielen Dank für Deine Codeunterstützung!
to top
#6
Hallo,

was soll beim 4. Doppelklick passieren?

Folgender Code läuft im Kreis:

Code:
'Code in das Codemodul der Tabelle2
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Target.Address(0, 0) = "A1" Then
     Target.Value = Sheets("Tabelle1").Range("B" & Range("C1") + 1).Value
     Range("C1") = Range("C1") + 1
     If Range("C1") = 3 Then Range("C1") = 0
   Cancel = True
 End If
End Sub


Zelle C1 in Tabelle2 ist wieder als Hilfszelle vorgesehen und muss vor dem erstmaligen Ausführen des Codes leer sein.
Gruß Atilla
to top
#7
Hallo Atilla,

danke Dir für die Anpassung Deines Codes!

Das ist natürlich eine gute Frage, was beim 4. Doppelklick passieren soll. Im Grunde genommen sollte nach dem Durchlauf der Anzeige der einzelnen Texte von den jeweiligen Zellen aus Tabelle 1 (jeweils nach Doppelklick) wieder der Text von Tabelle 1 - Zelle B1 angezeigt werden. Daher sollten die Textteile wie in einer Endlosschleife jeweils bei Doppelklick in Zelle A1 - Tabelle 2 angezeigt werden. 

Aus diesem Grund sollte beim 4. Doppelklick erneut der Text von Tabelle 1 - Zelle B1 angezeigt werden. Welche Ergänzung wäre dafür in Deinem Code erforderlich? Muss in Tabelle 1 kein Code angegeben werden?
to top
#8
Hallöchen,

im Makro hast Du diese zeile:
If Range("C1") = 3 Then Range("C1") = 0

Hier wird beim 4. Klick der Zähler auf 0 zurück gesetzt. Wieso 4.Klick? Weil die Zählung mit 0 beginnt. Also müsste man auch in diesem Fall schauen, den Inhalt von B1 zu übernehmen. Dazu kannst Du die Zeile so aufdröseln:
Code:
If Range("C1") = 3 Then
Range("C1") = 0
Target.Value = Sheets("Tabelle1").Range("B1").Value
End If

In Tabelle1 brauchst Du dazu keinen Code, denn dort machst Du ja auch nix.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top


Gehe zu:


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