1.3k Aufrufe
Gefragt in Tabellenkalkulation von
Hey Leute,

kann man diesen Kopieralgorithmus so anwenden das nur die Werte und ich nicht die Formeln kopiert werden?

Sheets("A").Range("A8:H" & LetzteZeile).Copy Destination:=Worksheets("B").Range("A65536").End(xlUp).Offset(1, 0)

PasteSpecial Values ist ja glaube ich dafür nötig. Lässt sich das auch für den oben genannten Fall benutzen?

Viele Grüße

Thomas

5 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Thomas,

probier's mal so

Option Explicit

Sub Werte_uebertragen()
Worksheets("A").Range("A8:H" & Worksheets("A").Cells(Rows.Count, 1).End(xlUp).Row).Copy
Worksheets("B").Range("A" & Worksheets("B").Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Worksheets("B").Select
Range("A1").Select
End Sub


Gruß
Rainer
0 Punkte
Beantwortet von
Hm,

irgendwie meckert Excel jetzt rum. Laufzeitfehler '1004': Anwendungs-oder objektdefinierter Fehler bei der 2. Zeile:

Worksheets("B").Range("A" & Worksheets("B").Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues

hier habe ich jetzt für "A" und "B" meine Tabellennamen eingesetzt, aber klappen tuts leider nicht.

Wo ist denn da eigentlich der Paste-Vorgang in deinem Code? Und warum 2mal select benutzt? Soll man das nicht immer vermeiden?

Danke für die Hilfe!

Thomas
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Thomas,

bei mir funktionierts.
Der Code gehört übrigens in ein allgemeines Modul

Gruß
Rainer
0 Punkte
Beantwortet von
Hallo Rainer,

bitte entschuldige die späte Rückmeldung. Ich habe deine Formel jetzt zum laufen bekommen und sie funktioniert schon fast perfekt.

Den unteren Teil der Formel habe ich nicht mehr benutzt. Der wichtigste Part ist natürlich drinne:

Worksheets("A").Range("A8:H" & Worksheets("A").Cells(Rows.Count, 1).End(xlUp).Row).Copy
Worksheets("B").Range("A" & Worksheets("B").Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False


Allerdings habe ich nun die Hürde zu Meistern, das ich nicht mehr komplet von A8 bis H(letzte Zeile) komplett kopieren möchte, sondern von A8 bis C(letzte Zeile) und E8 bis F(letzte Zeile).

ICh habe versucht deine Formel so anzuwenden, das ich zwei kopiere und einfüge Vorgänge habe. Allerdings schreibt der Code dann den E8:F(letzte Zeile) Teil unter den rechts-unter den A:C Teil anstatt daneben, weil der Code nach der ersten Freien Zeile sucht und nicht nach der ersten freien Zelle in einer bestimmten Zelle.

Könntest du den Code in dieser Hinsicht korrigieren?

Viele Grüße und danke schonmal für deinen Mühe

Thomas
0 Punkte
Beantwortet von
Ha,

selbst hinbekommen.

Worksheets("A").Range("A8:H" & Worksheets("A").Cells(Rows.Count,5).End(xlUp).Row).Copy
Worksheets("B").Range("A" & Worksheets("B").Cells(Rows.Count, 5).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False


Trotzdem nochmal Danke Rainer
...