nach Wert einfügen : wert kopieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox
Bild

Betrifft: nach Wert einfügen : wert kopieren
von: Wolfgang
Geschrieben am: 28.11.2015 15:34:39

Hallo miteinander,
irgendwie hängt sich das Makro immer auf und ich finde keine Lösung.
Was ich gerne hätte:
In der Beispieldatei sollte bei einem Doppelklick auf ein entsprechendes Datum die Zeilenwerte in die Tabelle 3 kopiert werden.
Das klappt ja auch.
Aber nun wollte ich, dass eben diese Werte, die in der Tabelle3 eingefügt worden sind gleichzeitig in die
Spalte G = Wert von Spalte A2;
in Spalte H = Wert von Spalte B2
und in Spalte I = Wert der Spalte D2
eingefügt werden und zwar immer untereinander nach dem letzten eingegeben Wert, sodass eine kleine Liste entsteht.
Irgendwie hänge ich mich im Makro auf ...
Vielleicht hat jemand die "helfende Hand" ;-)
Danke schon mal
Wolfgang
Hier die Beispieldatei : https://www.herber.de/bbs/user/101870.xlsm

Bild

Betrifft: probiere mal
von: Michael
Geschrieben am: 28.11.2015 16:08:48
Hi Wolfgang,
wenn ich Dich richtig verstanden habe:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Z As Long, wohin As Long
Dim adress As String
Z = Target.Row
adress = " vom " & Cells(Z, 1)
adress = InputBox("Welche Kurswerte werden in die Tabelle 3 kopiert?", "D A T E N", adress)
If Len(adress) Then
 With Sheets("Tabelle3")
  .Range("a2") = Cells(Z, 1)
  .Range("b2") = Cells(Z, 2)
  .Range("d2") = Cells(Z, 3)
  .Range("c2") = Cells(Z, 4)
  wohin = .Range("g" & .Rows.Count).End(xlUp).Row + 1
  .Range("g" & wohin) = Cells(Z, 1)
  .Range("h" & wohin) = Cells(Z, 2)
  .Range("i" & wohin) = Cells(Z, 3)
 End With
End If
Cancel = True
' Sheets("Tabelle3").Select  ???
' Call Makro3
'Sheets("Tabelle1").Select
End Sub
Schöne Grüße,
Michael

Bild

Betrifft: AW: nach Wert einfügen : wert kopieren
von: Sepp
Geschrieben am: 28.11.2015 16:20:08
Hallo Wolfgang,
so?

' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lngL1 As Long, lngL2 As Long

If Not Intersect(Target, Range("A:D")) Is Nothing Then
  If Target.Row > 3 Then
    Cancel = True
    With Sheets("Tabelle3")
      lngL1 = Application.Max(2, .Cells(.Rows.Count, 1).End(xlUp).Row + 1)
      lngL2 = Application.Max(2, .Cells(.Rows.Count, 7).End(xlUp).Row + 1)
      .Cells(lngL1, 1).Resize(1, 4) = Range(Cells(Target.Row, 1), Cells(Target.Row, 4)).Value
      .Cells(lngL2, 7).Resize(1, 2) = Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Value
      .Cells(lngL2, 9) = Cells(Target.Row, 4).Value
    End With
  End If
End If
End Sub

Gruß Sepp


Bild

Betrifft: [Danke] AW: nach Wert einfügen : wert kopieren
von: Wolfgang
Geschrieben am: 28.11.2015 17:38:43
Hallo Michael,
hallo Sepp,
danke erstmal für euer Zutun.
Die Hilfe von Michael klappt einwandfrei und ist eigentlich das was ich wollte!
Sepp hat auch eine gute Lösung, nur wenn man zu schnell klickt, dann sind die Werte gleich zwei oder dreimal vorhanden. Der "Zwischenschritt" mit der MsgBox würde ich vorziehen.
also nochmal Danke!
es grüßt
Wolfgang

Bild

Betrifft: Danke für die Rückmeldung,
von: Michael
Geschrieben am: 28.11.2015 17:46:24
Wolfgang,
man kann halt nicht alles haben...
Entweder Rückmeldung und mehr klicken oder keine RM und evtl. Doppelte.
Happy Exceling zusammen,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "nach Wert einfügen : wert kopieren"