Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1260to1264
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
Inhaltsverzeichnis

range / copy

range / copy
Tina
Hallo,
ich brauche Hilfe :o(
wieso geht der Copy-Satz nicht?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set TB1 = Worksheets("Bestellungen")
Set TB2 = Worksheets("Ausgaben")
If MsgBox("Soll die Ware -" & Cells(ActiveCell.Row, 3) & "- zu den Ausgaben verschoben werden? _
", vbQuestion + vbYesNo) = vbNo Then
Exit Sub
End If
Z = TB2.Cells(Rows.Count, 2).End(xlUp).Row + 1
 TB1.Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 5)).Copy TB2.Range(Cells(Z, 2),  _
Cells(Z, 6))
TB1.Rows(ActiveCell.Row).ClearContents
TB2.Select
End Sub
LG
Tina

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ersetz mal...
25.04.2012 10:53:09
hary
Hallo
.... ActiveCell durch Target
target ist schon vorgegeben. (ByVal Target As Range
gruss hary
AW: ersetz mal...
25.04.2012 11:04:23
Tina
Hallo hary,
danke für deine Antwort, klappt aber leider nicht.
Fehlermeldung ist die Gleiche.
Anwendungs- oder objektdefinierter Fehler.
ich muss sicherlich "Dim ..?.. as range" eintragen.
aber was genau noch fehlt, weiß ich nicht.
gruß Tina
AW: ersetz mal...
25.04.2012 11:35:16
Tina
Frage ist noch offen, falls noch jemandem was auffällt :o)
AW: range / copy
25.04.2012 11:45:08
Reinhard
Hallo Tina,
du stehst in TB1, also mußt du bei Zugriff auf TB2 auch die Cells referenzieren.
TB1.Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 5)).Copy TB2.Range(TB2.Cells(Z, 2), _
TB2.Cells(Z, 6))
Probier auch mal dieses:
target.Resize(1, 5).Copy TB2.Cells(Z, 2)
Gruß
Reinhard
Anzeige
AW: range / copy
25.04.2012 12:07:25
Erich
Hi Tina,
da fällt so manches auf...
Du verwendest Variablen TB1, TB2, Z, ohne sie deklariert zu haben. Faulheit? Schlamperei? ;-)
So etwas kann sich sehr leicht rächen... Mein Rat: Verwende "Option Explicit"!
Du benutzt nicht "Target". Darauf hat hary dich schon hingewiesen. ActiveCell brauchst du hier nicht.
Wenn die Prozedur im Code von Worksheets("Bestellungen") steht, brauchst du keine Variable TB1 für dieses Blatt.
Beim Copy-Ziel musst du nur die 1. Zielzelle angeben, nicht den ganzen Zielbereich.
TB1.Rows(ActiveCell.Row) ist doch einfach nur Target.EntireRow
Probier mal:

Option Explicit                        ' Immer zu empfehlen
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' Code steht in Worksheets("Bestellungen")
Dim lngZ As Long
With Worksheets("Ausgaben")
If MsgBox("Soll die Ware -" & Cells(Target.Row, 3) & "- zu den" & _
" Ausgaben verschoben werden?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
lngZ = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
Cells(Target.Row, 1).Resize(, 5).Copy .Cells(lngZ, 2)
Target.EntireRow.ClearContents
.Select
End With
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: range / copy
26.04.2012 18:52:40
Tina
Danke Erich,
klappt wunderbar :o)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige