Registriert seit: 07.04.2016
Version(en): XP Pro 2002
28.06.2016, 11:39
(Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2016, 11:40 von lapunta.)
Hallo,
Hier bin ich mal wieder mit einem Problemchen.
Mit meinem Makro soll ein Bereich in eine neue Arbeitsmappe in das erste Arbeitsblatt kopiert werden. Das funktionirt auch soweit. Es wäre jedoch gut, wenn der Wertebereich in dem neuen Arbeitsblatt erst einmal diie Inhalte gelöscht würden.
Wenn ich jedoch die Zeile:
Sheets("Sweep").Range("A7:M500").Clear oder
Clear Contents einfüge, dann führt er mir den Paste-Befehl nicht mehr aus.
Wer weiß da was!
Code:
Sub Schaltfläche61_BeiKlick()
Dim i As Long
For i = 6 To ActiveSheet.UsedRange.Rows.Count
Next i
Range("A6:M" & i - 1).Select
Selection.Copy
Workbooks.Open "C:\Users\Frank\Documents\Aktien\Shareselect\MFormula"
With Worksheets("Sweep")
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
Call Format
End Sub
Public Sub Format()
'Spaltenbreite kopierte Daten
With Worksheets("Sweep")
.Columns("A:A").ColumnWidth = 5
.Columns("B:C").ColumnWidth = 10
.Columns("D:D").ColumnWidth = 25
End With
For i = 7 To ActiveSheet.UsedRange.Rows.Count
maxrow = maxrow + 1
Cells(i, 1) = maxrow 'Spalte 1 durchnummerieren
Next i
End Sub
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
ein neues Arbeitsblatt ist doch sowieso leer.
Gruß Uwe
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
bei einigen Aktionen leert Excel seinen Zwischenspeicher. Du müsstest im jeweiligen Fall die Reihenfolge der Aktionen überdenken und ggf. ändern, z.B. erst Leeren, dann Kopieren und dann Einfügen.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 07.04.2016
Version(en): XP Pro 2002
Zitat:...ein neues Arbeitsblatt ist doch sowieso leer.
Na ja, isses eben nicht. Wenn es leer ist funktioniert ja alles. aber es sollen ja Werte aus einem anderen Arbeitsblatt übertragen werden...und wenn die alten noch drinnstehen, dann sollten die halt erst einmal weg.
Zitat:...Du müsstest im jeweiligen Fall die Reihenfolge der Aktionen überdenken und ggf. ändern, z.B. erst Leeren, dann Kopieren und dann Einfügen.
Ich wüßte nicht, wo da ein Fehler sein könnte. Das ist ja gerade das Problem. Eigentlich müßte das neue Arbeitsblatt leergeräumt werden, bevor die neuen Daten eingefügt werden... also hier:
Code:
Workbooks.Open "C:\Users\Frank\Documents\Aktien\Shareselect\MFormula"
Sheets("Sweep").Range("A7:M500").Clear
With Worksheets("Sweep")
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
aber wenn ich da löschen will, bringt er mir eine Fehlermeldung, daß der Paste-Befehl danach nicht ausgeführt werden kann.
Registriert seit: 10.04.2014
Version(en): Office 2007, 2016, Win 10 64 bit
Hi, in welcher Datei steht dein Code und wie ist Dateiname der zu öffnenden Datei, wo das Sheet Sweep drin ist?
Mit freundlichen Grüßen :)
Michael
Registriert seit: 13.04.2014
Version(en): 365, 2019
Hallo,
und wo bitte ist der Copy-Befehl??? Der gehört doch hinter die Clear-Anweisung!
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 07.04.2016
Version(en): XP Pro 2002
Zitat:...und wo bitte ist der Copy-Befehl??? Der gehört doch hinter die Clear-Anweisung!
Oben ist doch das gesamte Makro zu sehen.
Muß der Copy-Befehl denn unbedingt hinter die Clear-Anweisung?
Einfacher wär's doch:
Kopieren - neues Workbook öffnen - Bereich löschen - Werte aus Zwischenspeicher einfügen
Wie gesagt: es funktioniert ja alles, wenn das neue Arbeitsblatt leer ist.
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
28.06.2016, 16:18
(Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2016, 16:18 von Käpt'n Blaubär.)
Hallo,
Zitat:Kopieren - neues Workbook öffnen - Bereich löschen - Werte aus Zwischenspeicher einfügen
... und da issa ja auch schon ganz deutlich, Dein Denkfehler.
Copy & Paste gehören zwingend zusammen und dürfen nicht unterbrochen werden.
Es geht eben nicht,
Copy ... und nun mache ich
was ganz anderes ... und jetzt
Paste ich.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!
Grüße aus Norderstedt, Peter
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Du kannst auch ganz einfach ausprobieren, was geht und was nicht. Mach das, was Du programmiert hast, mal genau so von Hand..
Einiges geht nicht zwischen Copy und Paste, anderes schon. Du siehst das bei manuellen Aktionen z.B. schon daran, dass die Kopiermarkierung weg ist oder auch nicht. Du kannst 1000 mal Blätter wechseln oder über Ansicht die Datei, kein Problem. Hinterher klappt das Einfügen noch. Datei öffnen? Blatt anlegen? ...? Fehlanzeige.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
28.06.2016, 17:41
(Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2016, 17:42 von RPP63.)
Wollte gerade zum Einkaufen fahren.
Dazu habe ich mir ein Programm geschrieben.
Sub Einkaufen()
With MeinAuto
.MotorAn
.MotorAus
.FahrLos
End With
End Sub
Laufzeitfehler 4711:
"Die FahrLos-Eigenschaft von MeinAuto konnte nicht gesetzt werden. Debuggen?"
Ich befürchte, heute gibt es nichts mehr zu essen. :21:
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)