Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Vor Paste-Befehl Bereich löschen
#1
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
Antworten Top
#2
Hallo,

ein neues Arbeitsblatt ist doch sowieso leer.

Gruß Uwe
Antworten Top
#3
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)
Antworten Top
#4
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. Huh
Antworten Top
#5
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
Antworten Top
#6
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.
Antworten Top
#7
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.
Antworten Top
#8
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
Antworten Top
#9
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)
Antworten Top
#10
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)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste