Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Kopieren - Fehler 438

VBA Kopieren - Fehler 438
07.09.2017 11:49:51
Markus
Hallo zusammen,
ich habe Probleme bei folgendem Code:
Sub MonatKopieren()
'Dim i As Integer
'noch uninteressant, ist für spätere Schleife gedacht
If Sheets("Auswertung").Range("B3") = Sheets("Historie").Cells(1, 2).Value Then
'in "Auswertung" werden Daten eines Monats geladen, diese sollen in der "Historie"  _
archiviert werden - deswegen wird geschaut,
'ob es zu diesem Monat (aktuell nur auf einen Monat verwiesen, später dann mit Variablen  _
und Schleife auf alle) bereits Daten gibt
If Sheets("Historie").Cells(3, 2).Value = "" Then
'gibt es noch keine Daten, sollen die aktuellen aus der Auswertung kopiert werden
Application.CutCopyMode = False
With Worksheets("Auswertung")
.Range(.Cells(6, 2), .Cells(15, 4)).Copy
End With
Worksheets("Historie").Cells(3, 2).Paste
'hier kommt der "Laufzeitfehler 438"
Else
End If
Else
End If
End Sub
Ich habe versucht, mit der Kommentarfunktion alles zu beschreiben. Ich weiß leider nicht, wieso ich den Laufzeitfehler erhalte und wie ich das Problem lösen kann.
Über eure Unterstützung würde ich mich sehr freuen!
Vielen Dank vorab und Grüße
Markus
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Kopieren - Fehler 438
07.09.2017 12:04:21
Werner
Hallo Markus,
Sub MonatKopieren()
'Dim i As Integer
'noch uninteressant, ist für spätere Schleife gedacht
If Sheets("Auswertung").Range("B3") = Sheets("Historie").Cells(1, 2).Value Then
'in "Auswertung" werden Daten eines Monats geladen, diese sollen in der "Historie" _
archiviert werden - deswegen wird geschaut,
'ob es zu diesem Monat (aktuell nur auf einen Monat verwiesen, später dann mit Variablen _
und Schleife auf alle) bereits Daten gibt
If Sheets("Historie").Cells(3, 2).Value = "" Then
'gibt es noch keine Daten, sollen die aktuellen aus der Auswertung kopiert werden
Application.CutCopyMode = False
With Worksheets("Auswertung")
'## entweder so ##
.Range(.Cells(6, 2), .Cells(15, 4)).Copy Worksheets("Historie").Cells(3, 2)
End With
'## oder mit PasteSpecial hier werden nur die Werte kopiert ##
'## ohne Formatierungen ##
'Worksheets("Historie").Cells(3, 2).PasteSpecial Paste:=xlValues
'hier kommt der "Laufzeitfehler 438"
Else
End If
Else
End If
End Sub
Gruß Werner
Anzeige
AW: VBA Kopieren - Fehler 438 - Danke!
07.09.2017 12:21:14
Markus
Hallo Werner,
vielen Dank für die schnelle Rückmeldung. Die Lösung mit PasteSpecial war für den Code genau richtig.
Ich wünsche Dir noch einen schönen Tag.
Grüße
Markus
Gerne u. Danke für die Rückmeldung. o.w.T.
07.09.2017 14:09:46
Werner
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige