Sorry - entweder hab ich Dich falsch verstanden oder Du hast
Dich falsch ausgedrückt…
Entschuldige, aber ich lebe nunmal nicht in Deutschland
Beschreib nochmal mit neuen Worten und komplett in Deutsch
Datei = eine Excel Datei
Blatt = ein Tabellenblatt / Sheet
ohne Workbook und Worksheet und erst recht nicht mit Spread~
Allerdings kann ich Dir nicht mal eben schnell helfen - meine
Zeit ist im Moment knapp bemessen!
Gruß
Munich
ich habe eine Tabelle mit vielen Formeln, zwei Macros mit einer Groesse von 240kb. Das wird benutzt um Quoten auszurechnen und ist als Template gespeichert. Wenn mein Kollege nun jeden Tag 10 Quoten schreibt und das dann speichert ist die Festplatte ziemlich bald voll, da alles ja jedesmal neu gespeichert wird. Nun dachte ich, ich koennte ein Macro schreiben das einfach per Knopfdruck:
-
Eine neue Tabelle oeffnet
-
Blatt 1 im Template kopiert
-
das dann in Blatt 1 der neuen Tabelle hineinkopiert (nur Werte und Format)
und das ganze nochmal mit Blatt 2 (kopieren, paste mit Werten und Format).
Somit ist die neue Datei nur ein zehntel gross.
Hat da jemand ein wenig Zeit mir ein wenig Hilfestellung zu leisten?
Dankbare Gruesse
Und hier mein Macro:
_Workbooks.Add
Windows(„BlaBla.xls“).Activate
Sheets(„Entry“).Select
Selection.Copy
Windows(„Book1“).Activate
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets.Add
Windows(„BlaBla.xls“).Activate
Sheets(„Quote Output“).Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Windows(„Book1“).Activate
Cells.Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range(„A1“).Select_
Ausserdem noch dieses zum speichern:
Ich wollte dannach noch folgendes Macro einbauen womit ich das sheet speichern will:
Private Sub CommandButton1_Click()
Dim ck As Boolean
If newName = „“ Then
str1 = Range(„A2“)
Else
str1 = newName
End If
ck = Application.Dialogs(xlDialogSaveAs).Show(str1)
If ck = True Then
newName = ActiveWorkbook.Name
End If
End Sub