Anzeige
Archiv - Navigation
1304to1308
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
Inhaltsverzeichnis

Activesheet.Copy BeforeSave

Activesheet.Copy BeforeSave
20.03.2013 11:00:57
Bertram
Hallo zusammen,
ich steh grad etwas auf dem Schlauch.
Ich habe eine Datei mit mehreren Tabellenblättern. Vor dem Speichern möchte ich ein Tabellenblatt als neue Datei speichern. Dabei sollen auch alle Formeln in Werte gewandelt werden.
Normalerweise geht das Kopieren und Umwandeln ja mit
ActiveSheet.Copy
ActiveSheet.UsedRange.Copy
ActiveSheet.UsedRange.PasteSpecial xlPasteValues
Das gute daran ist ja, dass nach dem Kopieren das Tabellenblatt der neue Datei ActiveSheet ist.
Soweit so gut, aber wenn ich das in das BeforeSave-Ereignis packe, ist dem nicht so. Es wird zwar das Blatt in eine neue Datei kopiert, ist dann aber nicht ActiveSheet und in meinem Originalblatt wird der UsedRange kopiert und als Werte eingefügt.
Ist das normal, dass im BeforeSave-Ereignis (oder allen Ereignissen) das mit dem ActiveSheet nicht hinhaut?
Danke für Tips.
Gruß
Bertram

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Activesheet.Copy BeforeSave
20.03.2013 11:10:15
Bertram
War grad ne KopfFreimach-Zigaretter rauchen und schon fiel's wie Schhuppen aus den Haaren:-)
Hat sich erledigt
Gruß
Bertram

meine Zigaretten sind leider aus :-)
20.03.2013 11:12:21
Klaus
Hallo Bertram,
postest du denn - fürs Archiv - noch deine Lösung?
Grüße,
Klaus M.vdT.

Leider...
20.03.2013 11:22:08
Bertram
...löste die Zigarette nur ein Euphorie-Ereignis aus:-)
Es ist leider immer noch das Originalblatt ActiveSheet.
Drum lass ich nochmal offen.
Gruß
Bertram

AW: Leider...
20.03.2013 11:30:11
Matze
Hallo Bertram,
redest du von der selben Datei wo nur ein Tabellenblatt neu erstellt wird oder:
Zitat:
Vor dem Speichern möchte ich ein Tabellenblatt als neue Datei speichern!
Hast du mal mit dem Makrorecorder die einzelnen Schritte aufgezeichnet? so als Vorschlag.
Matze

Anzeige
AW: Leider...
20.03.2013 11:45:01
Bertram
Hallo Matze,
nee, den Makrorekorder hab ich nicht bemüht, denn der wird ja nicht helfen.
In ein vorhandenes Tabellenblatt werden Eingaben gemacht und in diveresen Zellen dadurch Formelergebnisse angezeigt. Diese4s Tabellenblatt soll in eine neue leere Datei kopiert werden (Activesheet.Copy) und die Formeln in Werte geändert werden.
Gruß
Bertram

AW: Leider...
20.03.2013 11:51:25
Matze
Warum sollte das nicht gehen?
Sub Makro1()
'Wir befinden uns im Aktiven Blatt
Cells.copy
Workbooks.Add '
Matze

AW: Leider...
20.03.2013 12:29:48
Bertram
Hallo Matze,
das geht so nicht, daich so die Formatierungen verliere.
Gruß
Bertram

Anzeige
AW: Leider...
20.03.2013 12:38:59
Bertram
Ok, hab noch ein
Selection.PasteSpecial Paste:=xlPasteFormats
eingebaut.
Geht zwar, aber gefallen tut mir die Lösung nicht.
Gruß
Bertram

AW: Activesheet.Copy BeforeSave
20.03.2013 11:11:28
Klaus
Hallo Bertram,
das kannst du doch "einfach" überprüfen, indem du es einmalig so durchlaufen lässt und danach ins Direktfenster schaust:

debug.print activesheet.name
ActiveSheet.Copy
debug.print activesheet.name
ActiveSheet.UsedRange.Copy
debug.print activesheet.name
ActiveSheet.UsedRange.PasteSpecial xlPasteValues
debug.print activesheet.name
Kannst du die Datei eben hochladen?
Grüße,
Klaus M.vdT.

Anzeige
AW: Activesheet.Copy BeforeSave
20.03.2013 11:47:07
Bertram
Hallo Klaus,
der Tabellenblattname ändert sich ja nicht. Nur der Workbook.Name
Gruß
Bertram

AW: Activesheet.Copy BeforeSave
20.03.2013 13:19:07
Bertram
ich weiß zwar immer noch nicht warum es innerhalb des BeforeSave-Ereignisses (oder in einer Prozedur, aufgerufen aus dem Ereignis) nicht funktioniert, aber wenn man die neue Mappe referenziert, welche komischerweise AktiveWorkbook ist, dann geht's:
ActiveSheet.Copy
With ActiveWorkbook
.Sheets(1).UsedRange.Copy
.Sheets(1).UsedRange.PasteSpecial xlPasteValues
Application.Dialogs(xlDialogSaveAs).Show , 51
.Close
End With
Gruß
Bertram

Anzeige
Das ist nicht komisch, das ist immer so! orT
20.03.2013 14:24:48
Luc:-?
Gruß Luc :-?

AW: Das ist nicht komisch, das ist immer so! orT
20.03.2013 16:33:21
Bertram
Hi Luc,
kannst du mir dann auch erklären warum das ActiveSheet in der "alten" Datei ist und das ActiveWorkbook die "neue"?
Gruß
Bertram

Nee, das ist dann mysteriös, nicht komisch! ;-)
20.03.2013 16:49:17
Luc:-?
Gruß Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige