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 
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