Runtime error bei paste VBA-Befehl

Lieber Excel Profi

ich bin am Ende meines lateins.

in der CH diverse Files mit Makros die folgende Befehle ausführen
range kopieren ca. 115Zeilen mal 30 Spalten
anschliessend Blattwechsel und eine einzelne Zelle wählen
beim Schritt

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

bleibt das Makro hängen mit runtime error 1004 und der Bemerkung Paste special method of range class failed.

In der CH läuft das Makro und auf US-Rechnern nicht. Gibt es irgendwelche Systemeinstellungen die ich berücksichtigen müsste?

vielen Dank für die promte Hilfe
Urs

Keine Ahnung, aber …
Moin Urs,

ich habe keine Ahnung, woran es liegen könnte, aber vielleicht hilft Dir folgender Versuch ein kleines Stückchen weiter: Kopiere doch mal nicht den ganzen Range auf einmal, sondern Zelle für Zelle. Das soll jetzt nicht der Workaround sein, sondern ermitteln, ob Excel sich an einer bestimmten Zelle aufhängt, sprich, an bestimmten Inhalten.

Ich würde es mit „On Error Resume Next“ machen und nach dem Kopieren gucken, welche Zellen erfolgreich kopiert wurden und welche nicht. Die „schlechten“ Zellen gilt es dann unter die Lupe zu nehmen.

Doof wäre natürlich, wenn er bei JEDER Zelle scheitern würde. Umgekehrt wäre es auch nicht so sehr hilfreich :wink:

Probier´s mal aus - bastel Dir ´ne doppelte For-Schleife und kopiere mit Hilfe von Cells(y, x) die Zellen einzeln rüber.

Kristian

in der CH diverse Files mit Makros die folgende Befehle
ausführen
range kopieren ca. 115Zeilen mal 30 Spalten
anschliessend Blattwechsel und eine einzelne Zelle wählen
beim Schritt

Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks:=False, Transpose:=False

bleibt das Makro hängen mit runtime error 1004 und der
Bemerkung Paste special method of range class failed.

In der CH läuft das Makro und auf US-Rechnern nicht. Gibt es
irgendwelche Systemeinstellungen die ich berücksichtigen
müsste?

Hi Urs,
ohne Ahnung, stelle mal in der Windows Systemsteuerung die Dezimaltrennzeichen und Datumsformatierungen um auf US, um zu prüfen ob es daran liegen könnte beim Einfügen von Zahlen oder eines Datums.
Gruß
Reinhard

Hallo Urs

range kopieren ca. 115Zeilen mal 30 Spalten
anschliessend Blattwechsel und eine einzelne Zelle wählen

Die Lösung mit „Blattwechsel/Paste“ ist nicht sehr elegant! Besser und einfacher ist so etwas:

Worksheets(1).Range("Start"). copy Destination:=Worksheets(2).Range("Ziel")

Natürlich sollte auch hier die Systemeinstellung berücksichtigt werden, wie von Reinhard gemeldet.
Erich

Besser und einfacher ist so etwas
Worksheets(1).Range(„Start“). copy
Destination:=Worksheets(2).Range(„Ziel“)

Hallo Erich
Systemeinstellung haben nicht gefruchtet. Das mit dem Copy Befehl funktioniert, aber ich möchte eigentlich nur die Daten Formate nicht aber die Formeln in diesem Bereich kopieren.
Darum habe ich eben den paste Befehl verwendet.
Gibt es da auch einen Trick?
Vielen Dank Urs

Hallo Urs

Systemeinstellung haben nicht gefruchtet. Das mit dem Copy
Befehl funktioniert, aber ich möchte eigentlich nur die Daten
Formate nicht aber die Formeln in diesem Bereich kopieren.
Darum habe ich eben den paste Befehl verwendet.
Gibt es da auch einen Trick?

Ja, natürlich! Ein bisschen komplizierter, aber immer noch ohne Selection und Blattwechsel:

Sub Werte\_Format\_Kopie()
' kopiert Werte und Formate von Tabelle1 nach Tabelle2
 Worksheets("Tabelle1").Range("A1:B5").Copy
 With Worksheets("Tabelle2").Range("G5")
 .PasteSpecial Paste:=xlValues ' Werte
 .PasteSpecial Paste:=xlFormats ' Formate
 End With
 Application.CutCopyMode = False
End Sub

Dieses Makro kannst du von irgend einer Tabelle aus dem Workbook aufrufen. Der Cursor bleibt dabei an Ort stehen.
Gruss
Erich