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

xlPaste Problem

xlPaste Problem
17.03.2004 11:47:04
Peter
Hallo,
ich bin von der Annahme ausgegangen, dass xlPasteFormats die Formate und xlPasteFormulas die Formeln kopiert. Die Werte werden dabei nicht angetastet, da dafür xlPastValues existiert.
Dem ist nicht so, alle Werte in den Workbooks(2) sind danach verschwunden (oder so leer wie das Workbooks(1)).
Was habe ich übersehen?
besten Dank, Peter
Für Thorsten:
musste
Workbooks(2).Range("A1").Select
mit
Workbooks(2).Sheets.Select
Range("A1").Select
ersetzen.
Vom oben geschilderten Problem abgesehen läuft Dein um xlPasteFormulas erweiteter Vorschlag optimal.
Codeausschnitt:
For intI = 1 To .FoundFiles.Count
dName = .FoundFiles(intI)

Workbooks.Open FileName:=dName

Workbooks(1).Sheets("Zus").Range("A3:N40").Copy
Workbooks(2).Sheets("Zus").Range("A3:N40").PasteSpecial xlPasteFormats
Workbooks(2).Sheets("Zus").Range("A3:N40").PasteSpecial xlPasteFormulas

.... (alle weiteren Tabellen)

Application.CutCopyMode = False
Workbooks(2).Sheets.Select
Range("A1").Select
Workbooks(2).Save
Workbooks(2).Close
Next intI

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

Betreff
Datum
Anwender
Anzeige
AW: xlPaste Problem
17.03.2004 12:01:36
Axel
Hallo,
leider gibst du den Quelltext nur im Auszug wieder, so dass nicht erkennbar ist, ob es sich bei der geöffneten Datei "dname" um die Zieldatei handelt.
Deine Annahme zu den xlPaste*-Varianten ist schon richtig.
Eine Zelle enthält entweder eine Formel oder einen Wert (sofern sie nicht leer ist), aber niemals beides.
Wenn du also Formeln kopierst, werden ggf. schon vorhandene Werte überschrieben.
Klärt dies dein Problem?
Gruß
Axel
AW: xlPaste Problem
17.03.2004 12:20:21
Peter
Hallo Axcel,
dName ist die Variable der Zieldateien.
Ich habe eine Mastertabelle (Workbooks(1)) und für jeden Azubi eine Notentabelle (Workbooks(2)). Korrekturen, z.B. vergessene Rundungen, könnten so in der Mastertabelle gemacht werden und mit dem Script in die Notentabellen kopiert werden.
Es gibt Zellen, da werden Noten eingetragen, bei anderen wird der Schnitt gerechnet.
Zumindest die Zellen wo nur eingetragen wird müssten doch erhalten bleiben.
Gruss und Dank, Peter
Anzeige
AW: xlPaste Problem
17.03.2004 13:01:52
Axel
Hallo,
ok, jetzt ist alles klar.
Bei der Übernahme in die Zwischenablage mußt du dafür sorgen, dass lediglich die Zellen, die Formeln enthalten, kopiert werden. Da dieser Bereich ggf. nicht rechteckig ist, also aus mehreren einzelnen Bereichen besteht, kann er nicht auf einmal in die Zwischenablage kopiert werden. Stattdessen ist eine Schleife notwendig.
Statt
Workbooks(1).Sheets("Zus").Range("A3:N40").Copy
Workbooks(2).Sheets("Zus").Range("A3:N40").PasteSpecial xlPasteFormats
Workbooks(2).Sheets("Zus").Range("A3:N40").PasteSpecial xlPasteFormulas
also z.B.
Dim rng As Range
   
   For Each rng In Workbooks(1).Sheets("Zus").Range("A3:N40").SpecialCells(xlCellTypeFormulas)
      rng.Copy
      With Workbooks(2).Sheets("Zus").Range(rng.Address)
         .PasteSpecial xlPasteFormulas
         .PasteSpecial xlPasteFormats
      End With
   Next
     Code eingefügt mit Syntaxhighlighter 1.14


Dann werden nur die Zellen mit Formeln kopiert. Aber Achtung! Falls keine Formeln enthalten sind, entsteht ein Laufzeitfehler. Der sollte ggf. noch abgefangen werden.
Gruß
Axel


Anzeige
AW: xlPaste Problem
17.03.2004 13:15:00
Peter
Hallo Axcel,
dann könnte ich den Code um die xlPasteFormulas Zeilen gekürzt brauchen, wenn ich nur etwas am Layout geändert habe.
Für die xlPastFormulas Funktion müsste ich eine neue Subroutine schreiben.
Werde ich machen, wird nicht in 5 Minuten fertig sein ...
besten Dank, Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige