Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
464to468
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
464to468
464to468
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zelle anklicken - Zeile kopieren

Zelle anklicken - Zeile kopieren
04.08.2004 23:56:01
MichiM
Hallo Experten,
wenn ich eine beliebige Zelle in einer Tabelle anklicke - wie starte ich dadurch ein Makro und ordne der angeklickten Zeile eine Variable zu?
Habe mir da etwa szurecht geschustert (mit meinen wenigen Kentnissen :), aber aus irgendeinem Grund kopiert er die Zeile zweimal...
------------------------
Option Explicit

Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.Run "Daten_kopieren()"
End Sub

------------------------

Sub Daten_kopieren()
Dim z As Integer
z = ActiveCell.Row
Name = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
Worksheets("Tabelle2").Cells(Name, 1) = Worksheets("Tabelle1").Cells(z, 1)
Worksheets("Tabelle2").Cells(Name, 2) = Worksheets("Tabelle1").Cells(z, 2)
Worksheets("Tabelle2").Cells(Name, 3) = Worksheets("Tabelle1").Cells(z, 3)
Worksheets("Tabelle2").Cells(Name, 4) = Worksheets("Tabelle1").Cells(z, 4)
Worksheets("Tabelle2").Cells(Name, 5) = Worksheets("Tabelle1").Cells(z, 5)
End Sub

-------------------------
Kann mir jemand sagen, wo da der Fehler liegt?
Oder wie es "einfacher" geht - mit nur einem Makro?
Gruss
MichiM

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle anklicken - Zeile kopieren
K.Rola
Hallo,
so wird bei jeder Veränderung der Selektion kopiert, ist das so gewollt?
Gruß K.Rola
AW: Zelle anklicken - Zeile kopieren
05.08.2004 00:04:13
MichiM
Hallo K.Rola,
jetzt wo du es sagst.
Das Makro soll nur laufen, wenn B10:B300 angeklickt wird.
Gruss
MichiM
AW: Zelle anklicken - Zeile kopieren
K.Rola
Hallo,
If Not intersect(target,[B10:B300]) Is Nothing Then
'deine befehle....
Siehe auch den Beitrag aus dem Pott.
Gruß K.Rola
AW: Zelle anklicken - Zeile kopieren
Uduuh
Hallo,
warum er 2x kopiert, kann ich auf den ersten Blick nicht sehen. Aber einfacher geht's allemal.
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Name as long
Name = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
Range(Cells(Target.Row,1),Cells(Target.Row,5)).Copy Destination:= Worksheets("Tabelle2").Cells(Name,1)
End Sub
Das kopiert aber die Zeile immer, wenn du eine andere Zelle auswählst. Besser ist folgendes:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Name As Long
Name = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Copy _
Destination:=Worksheets("Tabelle2").Cells(Name, 1)
Cancel = True 'evtl.weglassen
End Sub

Gruß aus'm Pott
Udo
Anzeige
Ergänzung
Uduuh
Hallo,
damit werden nur Klicks bzw Doppelklicks auf B10:B100 berücksichtigt:
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not Application.Intersect(Target,Range("B10:B100")) Is Nothing Then
Dim Name as long
Name = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
Range(Cells(Target.Row,1),Cells(Target.Row,5)).Copy Destination:= Worksheets("Tabelle2").Cells(Name,1)
End If
End Sub
Das kopiert aber die Zeile immer, wenn du eine andere Zelle auswählst. Besser ist folgendes:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target,Range("B10:B100")) Is Nothing Then
Dim Name As Long
Name = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
Range(Cells(Target.Row, 1), Cells(Target.Row, 5)).Copy _
Destination:=Worksheets("Tabelle2").Cells(Name, 1)
Cancel = True 'evtl.weglassen
End If
End Sub

Anzeige
Noch eine Kleinigkeit...
05.08.2004 00:37:47
MichiM
Wie kann ich jetzt noch abfragen, ob die Zelle leer ist.
If Not Range(Cells(Target.Row, 8)) = "" Then
wird angemeckert...
Gruss
MichiM
AW: Noch eine Kleinigkeit...
Uduuh
Hallo
Range mit nur einer einer Angabe von Cells geht nicht.
if cells(Target.row,8)&lt&gt"" Then
Gruß aus'm Pott
Udo
Alles klar - man lernt nie aus ;-) Danke o.T.
05.08.2004 17:31:25
MichiM
AW: Zelle anklicken - Zeile kopieren
05.08.2004 00:18:04
MichiM
Hallo Udo,
super - klappt bestens.
Danke und eine gute Nacht
MichiM

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige