PDA

Vollständige Version anzeigen : Zeilen- und Spaltenwerte bei Klick in eine Zelle kopieren


checknix7
28.06.2015, 17:15
Hallo Excel und VBA Könner,

ich möchte die Werte aus bestimmten Spalten EINER Zeile in ein anderes Tabellenblatt übertragen wenn ich eine Zelle im Tabellenblatt AE anklicke.
Ich habe mal eine Musterdatei angefügt.
So sollen z.B. bei Klick auf die Zelle F6 im Tabellenblatt AE die Werte aus den Zellen F6, AH6, AL6, AV6, AX6 und AY6 in die Tabelle1 übertragen werden und zwar IMMER in die Zeile 4.
Also
Wert aus "AE, F6" soll in "Tabelle1, A4",
Wert aus "AE, AH6" soll in "Tabelle1, B4",
Wert aus "AE, AL6" soll in "Tabelle1, C4",
Wert aus "AE, AV6" soll in "Tabelle1, D4",
Wert aus "AE, AX6" soll in "Tabelle1, E4" und
Wert aus "AE, AY6" soll in "Tabelle1, F4"
geschrieben werden.

Diesen Code habe ich mir aus dem Internet gekramt.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Value = "F6" Then Call test
End Sub

Sub test()
ActiveCell.Copy Destination:=Sheets("Tabelle1").Range("A4")
End Sub

Wenn ich den Code richtig verstehe besagt er doch, da er im Tabellenblatt "AE" steht:
wenn ich im Tabellenblatt "AE" auf die Zelle F6 klicke, dann lassen das Makro "test" laufen.
Das Makro "test" besagt:
kopiere die aktive Zelle in das Blatt "Tabelle1" in Zelle A4.
Oder verstehe ich gar nichts?

Mit meinem Code ist es egal welche Zelle ich anklicke und in welchem Tabellenblatt sich diese befindet, genau die angeklickte Zelle wird kopiert.

Und es läuft weder das Makro automatisch ab (warum?), noch weiß ich, wie ich es schaffe die Werte aus den verschiedenen Spalten zu übertragen.

Wäre schön wenn jemand Rat weiß.

Gruß Tatjana

BetziBe
28.06.2015, 21:06
Hallo Tatjana

Das kannst Du ganz einfach mit dem Makrorecorder aufnehmen

gruß Betzi

HS(V)
28.06.2015, 21:09
Mit einem Doppelklick in jeder Zelle.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(Me.Cells(.Row, "F"), Me.Cells(.Row, "AH"), Me.Cells(.Row, "AL"), Me.Cells(.Row, "AV"), Me.Cells(.Row, "AX"), Format(Me.Cells(.Row, "AY"), "dd.mm.yyyy"))
End With
Cancel = True
End Sub

BetziBe
28.06.2015, 21:19
Hallo Harry
Habs probiert,
kopiert allerdings nicht immer in die Zeile 4 hinein, sondern immer untereinander.
habs deshalb probiert, weil ichs interessant finde und man das vielleicht selbst mal gebrauchen kann.

Gruß Betzi

HS(V)
28.06.2015, 21:29
Hallo Betzi,

Dass habe ich falsch interpretiert.
Meine Entschuldigung.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
Sheets("Tabelle1").Cells(4, 1).Resize(, 6) = Array(Me.Cells(.Row, "F"), Me.Cells(.Row, "AH"), Me.Cells(.Row, "AL"), Me.Cells(.Row, "AV"), Me.Cells(.Row, "AX"), Format(Me.Cells(.Row, "AY"), "dd.mm.yyyy"))
End With
Cancel = True
End Sub

BetziBe
28.06.2015, 21:38
Hallo Harry
Hast mir schon öfters geholfen, dafür erstmal ein Dankeschön
Ist eigentlich nicht mein Problem, hab mich da mal eingeklinkt, weil ich mirs aufhebe, vielleicht für später mal.

Gruß Betzi

HS(V)
28.06.2015, 21:44
Hallo Betzi,

Es ist nicht falsch Wissbegierig zu sein. ;)

checknix7
29.06.2015, 17:33
Hallo Harry,
das sieht hervorragend aus.
Funktioniert so, wie ich es mir vorgestellt habe.

Lieben Dank dafür. :yelrotfl:
Gruß Tatjana