Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
492to496
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
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

variable Zelle kopieren mit Makro

variable Zelle kopieren mit Makro
02.10.2004 21:29:34
Korl
Hallo,
ich habe eine Excelmappe mit 2 Tabellenblättern.
Im Tabellenblatt "1" befindet sich eine Datenbank mit 2 Spalten (Spalte "A"=Artikel und Spalte "B"=Nr.)
Aus dieser Datenbank möchte ich einzelne "Artikel mit der Artikelnummer" in Tabellenblatt 2 untereinander kopieren, mittels Doppelklick oder eben Tastenkombination.
Mir fehlt jetzt eigentlich nur, wie benenne ich die aktuelle Zelle der Spalte A und B, damit ich sie ins Tabellenblatt "2" kopieren kann.
Danke schon mal für Eure Mühe.
Gruß Korl
AW: variable Zelle kopieren mit Makro
PeterW
Hallo Korl,
was du brauchst dürfte AciveCell.Row sein. Wenn du mehr Hilfe brauchst schreibe bitte, wohin in Blatt 2 kopiert werden soll.
Gruß
Peter
AW: variable Zelle kopieren mit Makro
ransi
hallo korl
so kannst du die zellen aus spalte a und b mit doppelclick in die zwischenablage kopieren wenn die aktive zelle in spalte a oder b liegt.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Or Target.Column = 2 Then _
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy
Cancel = True
End Sub

ransi
AW: variable Zelle kopieren mit Makro
02.10.2004 22:56:43
Korl
Hallo Ransi,
so weit, so gut. Ich dachte, ich würd es allein weiter schaffen?
Jetzt soll das ganze in Tabelle 2 abgelegt werden.
Dort habe ich in Spalte „A“ eine laufende Nr. und ab Spalte B soll es dann eingefügt werden.
In der Tabelle 2 habe ich in Zelle „I1“ einen Wert, der mir sagt in welcher Zeile jeweils eingefügt werden kann.
Kann man mit meiner Erklärung etwas anfangen?
Gruß Korl
Anzeige
AW: variable Zelle kopieren mit Makro
ransi
morgen korl
wie sieht denn der wert in „I1" aus?
ist das ein range bereich oder ein wert der in spalte a gesucht werden soll?
ransi
AW: variable Zelle kopieren mit Makro
03.10.2004 16:42:40
Korl
Guten Tag ransi,
entschuldige bitte mein spätes Erscheinen, mußte erst die Hausaufgaben im Garten erledigen ;-)
Ja, ich es wird ein Wert in Spalte "A" gesucht.
Die Formel die ich stehen habe kann ich so nicht zeigen, da dieses Forumprogramm es nicht zu lässt.
Ich versuchs mal so: Zählen wenn in Spalte "A" größer Null plus 1
Gruß Korl
AW: variable Zelle kopieren mit Makro
ransi
hallo korl
weiss nicht ob ich dich richtig verstsanden habe, aber versuch mal so:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim zielbereich As Range
Dim zeile As Long
On Error GoTo fehler
zeile = WorksheetFunction.Match(Sheets("Tabelle2").Range("i1").Value, Sheets("Tabelle2").Range("A:A"), 0)
If Target.Column = 1 Or Target.Column = 2 Then _
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy Destination:=Sheets("Tabelle2").Cells(zeile, 2)
Cancel = True
Exit Sub
fehler:
MsgBox "Wert in Tabelle2  I1  kommt in Tabelle 2 Spalte A nicht vor !"
Cancel = True
End Sub

ransi
Anzeige
AW: variable Zelle kopieren mit Makro
03.10.2004 20:04:52
Korl
Hallo ransi,
erstmal Danke für Deine Mühe. Ich erhalte Deine Fehlermeldung.
Ich habe mit Deinen ersten Code probiert und hatte mir wie folgt gedacht:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Or Target.Column = 2 Then _
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy
Cancel = True
' wechseln in Tabelle Zusammenstellung
Sheets("Zusammenstellung").Select
' einfügen
ActiveSheet.Paste
' in Zelle "B und Zelleninhalt von I1
Range("B$I1").Select  'Dies ist mein Problem
End Sub

Das Problem ist die Zielzelle, Spalte B und Zeile (z.B. 6) steht in I1
Kannst Du was damit anfangen?
Gruß Korl
Anzeige
Range("B" & [i1]).Select
ransi
hallo korl
Range("B" & [i1]).Select geht.
ist jetzt so "aus der Hand" und ungetestet, müsste aber funktionieren.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Or Target.Column = 2 Then _
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy destination:=Sheets("Zusammenstellung").Range("B" & [i1])
Cancel = True
End Sub

ransi
AW: Range("B" & [i1]).Select
03.10.2004 20:59:18
Korl
Hallo ransi,
mit dem neuen Code bewegt sich leider garnichts.
Mit meiner eigenen Zieldefinierung (Range("B" & [i1]).Select) blieb er dort auch hängen.
Gruß Korl
Anzeige
letzter versuch für heute
ransi
hallo korl
dieses funzt bei mir:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim zeile As Long
zeile = Sheets("Zusammenstellung").Range("i1").Value
If Target.Column = 1 Or Target.Column = 2 Then _
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy Destination:=Sheets("Zusammenstellung").Cells(zeile, 2)
Cancel = True
End Sub

ransi
AW: Range("B" & [i1]).Select
03.10.2004 21:54:19
Korl
Hallo ransi,
ich habe nochmal mit den letzte Code probiert.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Or Target.Column = 2 Then _
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy Destination:=Sheets("Zusammenstellung").Range("B" & [i1]).Select
Cancel = True
End Sub

Ich habe hier "Range("B" & [i1]).Select" "Select" angefügt.
Das Debuggen blieb bei dieser Zeile stehen.
Gruß Korl
Anzeige
vergiss mal das select
ransi
versuchs mal hier mit:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim zeile As Long
zeile = Sheets("Zusammenstellung").Range("i1").Value
If Target.Column = 1 Or Target.Column = 2 Then _
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy Destination:=Sheets("Zusammenstellung").Cells(zeile, 2)
Cancel = True
End Sub

ransi
Klasse Ransi!
Beate
Hallo Ransi,
sehr schön, bei mir läuft dein Code. Minimaler Verkürzungsvorschlag:
If Target.Column &gt 2 Then Exit Sub
Warum setzt du
Dim zeile As Long
zeile = Sheets("Zusammenstellung").Range("i1").Value
über die If-Zeile? Damit müßte es sich doch erst beschäftigen, wenn in Spalte A oder B doppelgeklickt wird, so wird das ja bereits bei jedem Doppelclick eingelesen. Gibt es einen Grund?
Gruß,
Beate
Anzeige
AW: .. über IF zeile
ransi
hallo Beate
danke für den tip.
hast recht.
über die IF zeile macht nur langsam.
hat keinen bestimmten grund.
Hoffe du siehst es mir nach, ich mutiere grade vom anfänger zum fortgeschrittenen.
ransi
AW: vergiss mal das select
03.10.2004 22:25:12
Korl
Hi ransi,
ich mags nicht sagen, als wenn kein Code da währe. Es spring nicht an.
Mit Deinen ersten Code und mein angebastelte:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Or Target.Column = 2 Then _
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy
Cancel = True
Sheets("Zusammenstellung").Select
ActiveSheet.Paste
End Sub

wird in die aktive Zelle eingefügt. Selbst wenn ich eine konkrete Zelle, also "Range(B5").Select" ansprechen will, bleibt das Makro dort stehen?
Für heute soll denn aber auch genug sein.
Ich wünsch Dir eine guten Nacht und hab Dank für Deine Geduld mit mir!
Gruß Korl
Anzeige
Hier ist Ransis Code in Testdatei eingebaut
Beate
Hallo Korl,
ich glaube, der Fehler ist an der Stelle in Ransis Code:
zeile = Sheets("Zusammenstellung").Range("i1").Value
Muss sein:
zeile = Sheets("Tabelle1").Range("i1").Value
Und so habe ich das Makro in die Testdatei eingebaut und es läuft:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim zeile As Long
zeile = Sheets("Tabelle1").Range("i1").Value
If Target.Column > 2 Then Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy Destination:=Sheets("Zusammenstellung").Cells(zeile, 2)
Cancel = True
End Sub

Testdatei:
https://www.herber.de/bbs/user/11619.xls
Gruß,
Beate
Anzeige
OT Formeln im Forum
PeterW
Hallo Korl,
Formeln lassen sich im Forum ohne Probleme darstellen. Schau mal hier:
https://www.herber.de/forum/whatsnew.htm
Ohne die Formel zu sehen stochert nicht nur Ransi noch länger im Nebel.
Gruß
Peter
AW: OT Formeln im Forum
Korl
Hallo Peter,
Danke für Deinen OT
Gruß Korl
AW: variable Zelle kopieren mit Makro
Reinhard
Hi Korl,

im Vb-Editor doppelt auf Tabelle1, dann nachfolgenden Code reinkopieren.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 1 And Target.Column <> 2 Then Exit Sub
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy Destination:= _
Worksheets("Tabelle2").Cells(Cells(65536, 1).End(xlUp).Row + 1, 1)
Application.SendKeys "{ESC}"
End Sub

Anstatt Application.SendKeys "{ESC}" kannst du auch Application.SendKeys "{ENTER}" nehmen, dann wird die Zelle wie bei Enter verlassen.
Gruß
Reinhard
Anzeige
AW: variable Zelle kopieren mit Makro
Hübi
Hallo Korl,
versuch doch mal diesen Code:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim WSQ As Worksheet, WSZ As Worksheet
Dim LetzteZeile As Long
If Target.Column <> 1 And Target.Column <> 2 Then Exit Sub
Set WSQ = Worksheets("Tabelle1")
Set WSZ = Worksheets("Tabelle2")
LetzteZeile = WSZ.Range("A65536").End(xlUp).Row + 1
Range(Cells(Target.Row, 1), Cells(Target.Row, 2)).Copy Destination:=WSZ.Cells(LetzteZeile, 1)
Application.SendKeys "{ESC}"
End Sub

Doppelklick auf die zu kopierende Zelle hängt den Inhalt im anderen Blatt an.
Gruß Hübi
AW: variable Zelle kopieren mit Makro
Beate
Hallo Korl,
Beispieldatei:
https://www.herber.de/bbs/user/11616.xls
Doppelklick in Tabelle2 Spalte A oder B kopiert den Wert der doppelgeklickten Zelle in Tabelle1 Spalte B in der Zeile wo Wert aus Tabelle2!I1 in Spalte A steht:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column > 2 Then Exit Sub
Dim rng As Range
Cancel = True
Application.ScreenUpdating = False
Set rng = Sheets("Tabelle1").Range("$A$1:$A$1000").Find(What:=Sheets("Tabelle2").[I1], LookIn:=xlValues, LookAt:=xlWhole)
If rng Is Nothing Then
MsgBox "Wert wurde nicht gefunden."
Else
Application.Goto rng, True
ActiveCell.Offset(0, 1).Activate
Sheets("Tabelle2").Select
Selection.Copy
Sheets("Tabelle1").Select
ActiveSheet.Paste
Sheets("Tabelle2").Select
Application.ScreenUpdating = True
MsgBox "Spalte B Tabelle1 wurde geändert."
End If
End Sub

Kein Schönheitspreis wegen der Selects, aber es läuft.
Gruß,
Beate
AW: variable Zelle kopieren mit Makro
04.10.2004 12:05:22
Korl
Hallo,
zunächst möchte ich mich bei all meinen Antwortern für Ihre Mühe bedanken!
Es tritt immer wieder ein Laufzeitfehler'9' auf. ( Index außerhalb des gültigen Bereichs)
Ich habe nun meine Beispielmappe angehängt um Einblick nehmen zu können. Darin befindet sich von mir Laienhafter Code, der es über Tastenkombination ermöglicht.
https://www.herber.de/bbs/user/11641.xls
Ich hoffe das man damit weiter kommen kann.
Gruß Korl
AW: variable Zelle kopieren mit Makro
Beate
Hallo Korl,
du hattest im Code bei zeile den Tabellenblattnamen nicht angepasst. Hier ist deine Datei korrigiert zurück:
https://www.herber.de/bbs/user/11643.xls
Gruß,
Beate
AW: variable Zelle kopieren mit Makro
04.10.2004 15:29:47
Korl
Hallo Beate,
johuu, es funktioniert. Du hast mir sehr geholfen, besten Dank dafür!
Ich glaub es war getsern schon ein bischen spät oder dunkel für mich ;-)
Gruß Korl

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige