Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabs nur Werte kopieren + Schleife

Tabs nur Werte kopieren + Schleife
22.04.2015 11:10:59
Andreas
Hallo zusammen,
ich benötige mal wieder eure Hilfe.
Kurz und bündig erklärt, was passieren soll, bei ButtonClick:
- Die Tabs "Sonne", "Mond" und "Sterne" sollen in eine neue Arbeitsmappe kopiert werden.
- Es sollen aber nur die Werte der Zellen kopiert werden, nicht die Formeln.
- Danach soll auf dem kopierten Tab "Sterne" eine Abfrage laufen, die alle Zeilen komplett löscht, in denen in Spalte A eine 0 steht
- Danach soll die Datei an einem bestimmt Pfad mit Dateiname aus einer Zelle gespeichert werden (das bekomm ich aber glaub ich alleine hin)
Ich befürchte, dass dies eine sehr aufwendige Sache ist, hoffe trotzdem, dass mir jemand helfen kann.
Dankeschön!

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

Betreff
Datum
Anwender
Anzeige
AW: Tabs nur Werte kopieren + Schleife
22.04.2015 15:55:24
Andreas
Ich hab mich inzwischen schon etwas weiter durchgeschlagen.
Den Punkt mit dem Zeilen löschen können wir schonmal abhaken.
Ich habe es auch schon hinbekommen, die drei Tabellenblätter zu kopieren. Ganz einfach mit dem Code:
Sheets(Array("Sonne", "Mond", "Sterne")).Copy
Nur leider bekomme ich es nicht hin, dass nur die Werte kopiert werden.
Kann mir hierzu jemand helfen?

.PasteSpecial xlPasteValues
22.04.2015 19:00:17
KlausF
Hallo Andreas,
für Sheet Sonne z.B.
With Worksheets("Sonne").UsedRange
.Cells.Copy
.Cells.PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
Gruß
Klaus

Anzeige
AW: Tabs nur Werte kopieren + Schleife
22.04.2015 19:35:37
Daniel
Hi
das Sheets.copy kopiert zunächst einmal alles, dh Werte, Formeln, Formate, aber auch die Druckeinstellungen und ggf vorhandere Tabellenblattmakros
du müsstest also hinterher nochmal mit einer Schleife drüber gehen und in den Blättern die Formeln durch ihren Wert ersetzen.
sieht als Code so aus:
Sub SheetCopy()
Dim sh As Worksheet
Sheets(Array("Sonne", "Mond", "Sterne")).Copy
With ActiveWorkbook
'--- Formeln durch Werte ersetzen
For Each sh In .Worksheets
sh.UsedRange.Copy
sh.UsedRange.PasteSpecial xlPasteValues
Next
'--- in Blatt Sterne Zeilen mit 0 in Spalte A löschen
With .Sheets("Sterne").UsedRange
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=If(RC1=0,0,Row())"
.Cells(1, 1).Value = 0
.EntireRow.RemoveDuplicates .Column, xlNo
.ClearContents
End With
End With
'--- Speichern
.SaveAs "bestimmter Pfad und Dateiname"
End With
End Sub
wenn du wirklich nur die Werte haben willst (dh auch keine Formate und Druckeinstellungen) wäre es günstiger, zunächst eine leere Mappe zu erstellen und dann die Sheet-Inhalte per Schleife zu übertragen.
Gruß Daniel

Anzeige
AW: Tabs nur Werte kopieren + Schleife
23.04.2015 12:36:47
Andreas
Wunderbar, funktioniert hervorragend!
Bin wie immer begeister, dass einem hier so schnell geholfen wird.
Ich danke euch!

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige