Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
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
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kopieren - Inhalte einfügen

Kopieren - Inhalte einfügen
30.09.2006 20:23:28
Dieterlem
Hallo,
ich möchte einen Bereich kopieren und in ein neues Tabellenblatt einfügen. Dabei sollen nur die Werte und nicht die Formeln; die Formate; Zeilenhöhe und Spaltenbreite mit kopiert werden. Ich habe daher mit dem Makrorekorder mal etwas experimentiert. Bis auf die Zeilenhöhe konnte ich alles kopieren. Dabei wurde folgendes aufgezeichnet:

Sub Makro4()
Range("A1:G24").Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
Selection.PasteSpecial Paste:=xlColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A1").Select
End Sub

Wenn ich allerdings das Makro ausführen will bekomme ich eine Fehlermeldung:
Laufzeitfehler 1004
Die PasteSpecial-Methode des Range-Objektes konnte nicht ausgeführt werden.
wer kann mir helfen?
Gruß
Dieterlem

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren - Inhalte einfügen
30.09.2006 20:48:58
K.Rola
Hallo,
versuchs mal so(ungetestet):

Sub Makro4()
Range("A1:G24").Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlValues
Range("A1").Select
Selection.PasteSpecial Paste:=xlFormats
Range("A1").Select
Selection.PasteSpecial Paste:=8
Range("A1").Select
End Sub

Gruß K.Rola
AW: Kopieren - Inhalte einfügen
01.10.2006 09:14:58
Erich G.
Hallo Dieterlem,
so hast du auch gleich die Zeilenhöhen - ohne "Select":
Sub Makro1()
Dim rngQ As Range, lngRows As Long, hh() As Double, lngR As Long
Set rngQ = Range("A1:G24")
lngRows = rngQ.Rows.Count
ReDim hh(1 To lngRows)
For lngR = 1 To lngRows
hh(lngR) = rngQ.Rows(lngR).RowHeight
Next lngR
rngQ.Copy
Set rngQ = Nothing
Workbooks.Add
With Range("A1")
.PasteSpecial Paste:=xlPasteFormats
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteColumnWidths
End With
Application.CutCopyMode = False
For lngR = 1 To lngRows
Rows(lngR).RowHeight = hh(lngR)
Next lngR
'  Range("A1").Select  ' falls gewünscht - sonst ist der kopierte Bereich markiert
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Kopieren - Inhalte einfügen
01.10.2006 10:44:06
Dieterlem
Hallo Erich, hallo KRola,
vielen Dank für Eure Hilfe. Die Lösung von KRola funktioniert. Jedoch wird die Zeilenhöhe nicht kopiert. Bei der Lösung von Erich habe ich wieder die Fehlermeldung und bleibt bei der folgenden Zeile stehen:
.PasteSpecial Paste:=xlPasteColumnWidths
Ich habe daher an dieser Zeile die Lösung von KRola verwendet:
.PasteSpecial Paste:=8
Damit funktioniert es prima.

Sub Makro1()
Dim rngQ As Range, lngRows As Long, hh() As Double, lngR As Long
Set rngQ = Range("A1:G24")
lngRows = rngQ.Rows.Count
ReDim hh(1 To lngRows)
For lngR = 1 To lngRows
hh(lngR) = rngQ.Rows(lngR).RowHeight
Next lngR
rngQ.Copy
Set rngQ = Nothing
Workbooks.Add
With Range("A1")
.PasteSpecial Paste:=xlPasteFormats
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=8
End With
Application.CutCopyMode = False
For lngR = 1 To lngRows
Rows(lngR).RowHeight = hh(lngR)
Next lngR
'  Range("A1").Select  ' falls gewünscht - sonst ist der kopierte Bereich markiert
End Sub

Gruß
Dieterlem
Anzeige
Danke für Rückmeldung ...
01.10.2006 19:53:39
Erich G.
Hallo Dieterlem,
in Excel2000 hatte M$ wohl die Konstante xlPasteColumnWidths im Objektmodell vergessen:
http://support.microsoft.com/kb/231090/de
Da steht dann auch die 8...
... und K.Rola hat das natürlich gewusst!
Grüße von Erich aus Kamp-Lintfort

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige