Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

PasteSpecial-Mehtode des Range ...

Betrifft: PasteSpecial-Mehtode des Range ... von: Patrick
Geschrieben am: 02.09.2020 17:18:50

Hallo liebe Foren-Mitglieder,


ich habe den unten eingefügten Code. Er läuft bis "...Ziel.Range("J4").PasteSpecial..." fett und kursiv markiert. Da wirft er mir die Fehlermeldung PasteSpecial-Mehtode des Range .... aus. Ich habe probiert wie in der Zeile oberhalb mit Ziel.Activate die Fehlermeldung zu umgehen. Habe Cells und Range ausprobiert. Aber es will irgendwie nicht. Kann mir jemand von euch vielleicht auf die Sprünge helfen?


[Code]

Sub CoV_1Schritt()

Dim i, j As Long
Dim letzteZeile As Long
Dim Arbeitsmappe As Workbook
Dim Datenbasis As Worksheet
Dim Ziel As Worksheet
Dim Bereich As Range
Dim WsF As WorksheetFunction


Set Arbeitsmappe = ThisWorkbook
Set Datenbasis = Arbeitsmappe.Worksheets("Performance")
Set Ziel = Arbeitsmappe.Worksheets("VaR_delta_normal")
Set Korrel_Daten = Arbeitsmappe.Worksheets("Hardcopy")
Set Bereich = Datenbasis.Range("b300:y305")
Set Bereich_K1YR = Korrel_Daten.Range("DP38:EM61")
Set Bereich_K3YR = Korrel_Daten.Range("DP71:EM94")
Set Bereich_K5YR = Korrel_Daten.Range("DP104:DP127")
Set WsF = Application.WorksheetFunction



letzteZeile = Datenbasis.Cells(Rows.Count, 1).End(xlUp).Row

'MsgBox letzteZeile

Datenbasis.Activate

'******************************************************************************************
' mean returns
'******************************************************************************************

'mean return 1 Jahr
For i = 2 To 25

    Cells(300, i) = WsF.Average(Range(Cells(letzteZeile - 11, i), Cells(letzteZeile, i)))

Next i

'mean return 3 Jahre
For i = 2 To 25

    Cells(301, i) = WsF.Average(Range(Cells(letzteZeile - 35, i), Cells(letzteZeile, i)))

Next i

'mean return 5 Jahre
For i = 2 To 25

   Cells(302, i) = WsF.Average(Range(Cells(letzteZeile - 59, i), Cells(letzteZeile, i)))

Next i

'******************************************************************************************
' standard deviation
'******************************************************************************************

'standard deviation 1 Jahr
For i = 2 To 25

    Cells(303, i) = WsF.StDev(Range(Cells(letzteZeile - 11, i), Cells(letzteZeile, i)))

Next i

'mean return 3 Jahre
For i = 2 To 25

    Cells(304, i) = WsF.StDev(Range(Cells(letzteZeile - 35, i), Cells(letzteZeile, i)))

Next i

'mean return 5 Jahre
For i = 2 To 25

   Cells(305, i) = WsF.StDev(Range(Cells(letzteZeile - 59, i), Cells(letzteZeile, i)))

Next i

'copy transpose paste
Bereich.Copy

Ziel.Activate

Cells(4, 2).PasteSpecial Transpose:=True

'Copy past Corr Matrizen
Bereich_K1YR.Copy

Ziel.Range("J4").PasteSpecial

Bereich_K3YR.Copy

Ziel.Range("J26").PasteSpecial

Bereich_K5YR.Copy

Ziel.Range("J48").PasteSpecial

End Sub

[Code\]


BG aus dem Rheinland

Betrifft: AW: PasteSpecial-Mehtode des Range ...
von: Werner
Geschrieben am: 02.09.2020 17:25:10

Hallo,
Ziel.Range("J4").PasteSpecial Paste:=xlPasteValuesandNumberFormats
Gruß Werner

Betrifft: AW: PasteSpecial-Mehtode des Range ...
von: Patrick
Geschrieben am: 02.09.2020 17:28:29

Hallo Werner,

auch das funktioniert leider nicht.

Aber vielen Dank für deine Mühe.

Betrifft: AW: PasteSpecial-Mehtode des Range ...
von: Daniel
Geschrieben am: 02.09.2020 17:54:10

ohne die Datei zu kennen kann man da nur raten.
warum nennst du uns eigentlich nicht die komplette Fehlermeldung?
Gibt es einen Grund, warum du uns die verschweigst?

eine mögliche Ursache wäre, dass der Bereich in den du einfügen willst geschützt ist.
Gruß Daniel

Betrifft: AW: PasteSpecial-Mehtode des Range ...
von: Patrick
Geschrieben am: 03.09.2020 07:50:32

Hallo Daniel,

sorry Daniel, ich wollte die Fehlermeldung in Gänze im Betreff verfassen, da war aber nicht genug platz.

Laufzeitfehler'1004':
Die PasteSpecial-Methode des Range-Objektes konnte nicht ausgeführt werden.

Das war keine böse Absicht meinerseits.

Der einzufügende Bereich ist auch nicht geschützt. Ich kann nachverfolgen, dass der zu kopierende Bereich auch ausgewählt wird. Da ich Werte einfügen möchte, macht doch weder die Bedingte Formtierung des zu kopierenden Bereichs, noch der Zielbereich (ohne Besondere Formatierung, lediglich Zahlenformat und Zellfärbung) mir einen Strich durch die Rechnung, oder?

VG und einen guten Morgen

Betrifft: AW: PasteSpecial-Mehtode des Range ...
von: Patrick
Geschrieben am: 03.09.2020 09:23:23

Jetzt funktioniert es. Ich habe aus .pastespecial einfach .pastespecial paste:=xlpastevalues gemacht und es läuft.

Erklären kann ich es mir aber nicht???

VG

Betrifft: AW: PasteSpecial-Mehtode des Range ...
von: Daniel
Geschrieben am: 03.09.2020 09:25:51

Verbundene Zellen können manchmal problematisch sein.
Gruß Daniel