Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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

VBA Code

VBA Code
04.02.2020 16:25:57
Stefan
Ich habe immer noch folgendes Problem,
Teil 1 wird zwar komplett ausgeführt aber mit einer Fehlermeldung.
Laufzeitfehler 1004
Die Copy-Methode des Range-Objektes konnte nicht ausgeführt werden.
Er hat aber alles gemacht.
Beim Teil 2 kommt die selbe Meldung und er stoppt beim kopieren.
In beiden Fällen zeigt er mir beim debuggen folgende Zeile im Teil 2 an.
Cells(Target.Row, 1).Resize(1, 41).Copy .Cells(lngRow, 1)
Kann mir irgendjemand sagen was da faul ist?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lngRow As Long
If Not Intersect(Target, Range("AF4:AK250")) Is Nothing Then
Cancel = True
Target = Date
If Target.Column = 32 Then
Cells(Target.Row, 1) = 2 'Status auf 2 setzen
End If
End If
'Teil 1 Projekte in Mappen übergeben und dann löschen
If Not Intersect(Target, Range("AJ4:AJ250")) Is Nothing Then
If MsgBox("Willst du wirklich dieses Projekt an den Einkauf übergeben?", _
vbQuestion Or vbOKCancel, "Abfrage") = vbOK Then
Cells(Target.Row, 1) = 3 'Status auf 3 setzen
With Worksheets("Einkauf")
lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Cells(Target.Row, 1).Resize(1, 41).Copy .Cells(lngRow, 1)
'nach Übergabe Zeile löschen in Projektübersicht
Target.EntireRow.Delete
End With
End If
End If
'Teil 2 Projekte in Mappen übergeben und dann löschen
If Not Intersect(Target, Range("AK4:AK250")) Is Nothing Then
If MsgBox("Willst du wirklich dieses Projekt an die Produktion übergeben?", _
vbQuestion Or vbOKCancel, "Abfrage") = vbOK Then
Cells(Target.Row, 1) = 5 'Status auf 5 setzen
With Worksheets("Lager")
lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Cells(Target.Row, 1).Resize(1, 41).Copy .Cells(lngRow, 1)
'nach Übergabe Zeile löschen in Projektübersicht
Target.EntireRow.Delete
End With
End If
End If
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code
04.02.2020 16:35:31
Lutz
Hallo Stefan,
muss der Bereich, in den kopiert wird, nicht genauso groß sein, wie der zu kopierende Bereich?
Probier mal:
Cells(Target.Row, 1).Resize(1, 41).Copy .Cells(lngRow, 1).Resize(1, 41)

Gruß,
Lutz
AW: VBA Code
04.02.2020 16:39:11
Hajo_Zi
Bei mir kommt kein Fehler, was wohl daran liegt das meinbe Datei anders aussieht?
Ich hätte den Code geändert.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lngRow As Long
If Not Intersect(Target, Range("AF4:AK250")) Is Nothing Then
Cancel = True
Target = Date
If Target.Column = 32 Then
Cells(Target.Row, 1) = 2 'Status auf 2 setzen
End If
ElseIf Not Intersect(Target, Range("AJ4:AJ250")) Is Nothing Then
'Teil 1 Projekte in Mappen übergeben und dann löschen
If MsgBox("Willst du wirklich dieses Projekt an den Einkauf übergeben?", _
vbQuestion Or vbOKCancel, "Abfrage") = vbOK Then
Cells(Target.Row, 1) = 3 'Status auf 3 setzen
With Worksheets("Einkauf")
lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Cells(Target.Row, 1).Resize(1, 41).Copy .Cells(lngRow, 1)
'nach Übergabe Zeile löschen in Projektübersicht
Target.EntireRow.Delete
End With
End If
ElseIf Not Intersect(Target, Range("AK4:AK250")) Is Nothing Then
'Teil 2 Projekte in Mappen übergeben und dann löschen
If MsgBox("Willst du wirklich dieses Projekt an die Produktion übergeben?", _
vbQuestion Or vbOKCancel, "Abfrage") = vbOK Then
Cells(Target.Row, 1) = 5 'Status auf 5 setzen
With Worksheets("Lager")
lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Cells(Target.Row, 1).Resize(1, 41).Copy .Cells(lngRow, 1)
'nach Übergabe Zeile löschen in Projektübersicht
Target.EntireRow.Delete
End With
End If
End If
End Sub

Anzeige
AW: VBA Code
04.02.2020 19:07:10
Stefan
Hallo Hajo,
Sah vielversprechend aus. Aber nun kopiert er garnicht mehr.
AW: VBA Code
04.02.2020 19:16:56
Hajo_Zi
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Das ist nur meine Meinung zu dem Thema.
Gruß Hajo
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige