333 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

ich habe eigentlich einen einfachen Code mit dem ich einen Zellbereich (Anzahl von Zeilen) in ene andere Datei kopieren möchte:

AUS.Activate

Rows("3:" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
Workbooks(wbName).Activate
lastRow1 = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1) = "Nicht-Aktive T"
Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1).Font.Bold = True
Rows(Cells(Rows.Count, 1).End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Allerdings klappt das nicht, weil mir die Zwischenablage nach dem "Copy" "verloren" geht.

Hat jemand einen Tipp, wo der Fehler liegen könnte?
Danke und Gruß A.

4 Antworten

0 Punkte
Beantwortet von
Vielleicht wegen AUS falsch ist und es fehlt End Sub
oder mal Debuggen durch führen

Sub Activate

Rows ("3:" & Cells (Rows.Count, 1).End (xlUp).Row). Copy
Workbooks (wbName). Activate
lastRow1 = Cells (Rows.Count, 1).End(xlUp).Row + 1
Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1) = "Nicht-Aktive T"
Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1).Font.Bold = True
Rows(Cells(Rows.Count, 1).End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False,Transpose:=False
End Sub
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,
danke für deine Antwort, aber daran liegt es nicht. Ich habe nur einen Ausschnitt vom Code gesendet, wo der Fehler auftritt. Sorry, für das Mißverständnis.
AUS bezeichnet das Tabellenblatt aus dem ich die Zeilen kopiere.
Gruß A.
0 Punkte
Beantwortet von
Hallo Andreas,

Offenbar wird durch ...Font.Bold = True der Kopiermodus automatisch
aufgehoben. Wusst ich auch noch nicht. Diese Zeile müsstest du dann also
entweder vor Copy oder nach Paste ansetzen. Dadurch käme dann aber eine
falsche Row bei der Berechnung durch Cells xlUp heraus.

Lösung: Benutze die bereits von dir angelegte Variable lastRow1. Dann
kannst du .Font.Bold=True auch noch nach der Paste-Methode ausführen:

AUS.Activate

Rows("3:" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
Workbooks(wbName).Activate
lastRow1 = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(lastRow1, 1) = "Nicht-Aktive T"
Rows(lastRow1 + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Cells(lastRow1, 1).Font.Bold = True
Gruß Mr. K.
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Mr. K.
Danke für deinen Tipp. Jetzt klappt das Kopieren einwandfrei!
Gruß und schönen Abend! A.
...