Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1296to1300
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

Speichern ohne Makro

Speichern ohne Makro
29.01.2013 14:55:25
SoulOpa
Hallo und einen schönen Tag,
ich habe eine Frage bezüglich des oberen stehenden Makro. Dieser VBA Code speichert meine kommplette Arbeitsmappe in dem vor gegebenen Verzeichnis. Der Speicher Name wird aus Tabelle 1 von Zelle J6 so wie T4 ausgelesen und gespeichert. (Klappt so weit super)
Aber ich benötige nur eine Kopie von der kommpletten Mappe ohne Makros! was und wo muss ich hier ändern? Die Original Arbeitsmappe wo die Angebote erstellt werden, soll weiterhin mit Makros unverändert bleiben.
'*******************************************
'Dialog für Speichern_unter wird geöffnet *
'*******************************************
Dim Pfad$, Datei$, Filter$, Endg$, File
Pfad = "C:\MJ\Angebote\"
Datei = ActiveSheet.Range("J6") & " " & Range("T4")
If Datei = "" Then
MsgBox "Zelle enthält keinen Eintrag"
Exit Sub
End If
Endg = ".xls"
If InStr(Datei, Endg) = 0 Then 'Prüfung ob Zelle bereits Endung enthält
Datei = Datei & Endg
End If
Filter = "Excel Files (*" & Endg & "), *" & Endg
File = Application.GetSaveAsFilename(Pfad & Datei, Filter)
If File False Then ActiveWorkbook.SaveAs Filename:=File
End Sub
Hier mal mein Kommpletter Code von Tabelle1
Option Explicit
'********************************
'Drucken aller Tabellenblätter *
'********************************
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
If MsgBox("Ihr Angebot wird jetzt erstellt und Gedruckt? Wollen Sie dieses durchführen? ",  _
vbInformation + vbYesNo) = 7 Then Exit Sub
Sheets("Tabelle1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Tabelle2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Tabelle3").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Tabelle4").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Tabelle5").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Tabelle2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Tabelle3").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Tabelle4").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Tabelle1").Select
Range("A1").Select
Application.ScreenUpdating = True
'*********************************************************************************************** _
'Automatische Auftragsnummer vergabe. AG Nr. wird am nächsten Werktag Automatisch auf 1 zurück  _
gesetzt   *
'*********************************************************************************************** _
If Date > DateSerial(Mid(Range("T4"), 8, 4), Mid(Range("T4"), 6, 2), Mid(Range("T4"), 4, 2)) _
Then
Range("T4") = Replace("MM-" & Date & "-1", ".", "", 1)
Else
Range("T4") = Left(Range("T4"), 12) & (Mid(Range("T4"), 13, 9 ^ 9) * 1) + 1
End If
'Blendet eine Msgbox nach 1 Sekunden automatisch wieder aus *
Const bytZeit As Byte = 1
Dim objWSH As Object, intMSG As Integer
Set objWSH = CreateObject("WScript.Shell")
intMSG = objWSH.Popup("Ihr Angebot wurde fertig gestellt und gedruckt!!! Bitte Warten" &  _
Space(10), bytZeit, "Angebot Fertig Stellen")
Set objWSH = Nothing
'Dialog für Speichern_unter wird geöffnet  *
Dim Pfad$, Datei$, Filter$, Endg$, File
Pfad = "C:\MJ\Angebote\"
Datei = ActiveSheet.Range("J6") & " " & Range("T4")
If Datei = "" Then
MsgBox "Zelle enthält keinen Eintrag"
Exit Sub
End If
Endg = ".xls"
If InStr(Datei, Endg) = 0 Then 'Prüfung ob Zelle bereits Endung enthält
Datei = Datei & Endg
End If
Filter = "Excel Files (*" & Endg & "), *" & Endg
File = Application.GetSaveAsFilename(Pfad & Datei, Filter)
If File  False Then ActiveWorkbook.SaveAs Filename:=File
End Sub

Ich danke für Eure Hilfe.
mfg Andi

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

Betreff
Datum
Anwender
Anzeige
AW: Speichern ohne Makro
29.01.2013 15:34:22
Rudi
Hallo,
teste mal.
......
If File  False Then
ActiveWorkbook.SaveCopyAs Filename:=File
Workbooks.Open File
KillProject ActiveWorkbook
ActiveWorkbook.Close True
End If
End Sub
Sub KillProject(wkb As Workbook)
Dim oVBC As Object
With wkb.VBProject
For Each oVBC In .VBComponents
With oVBC
If .Type = 100 Then
With .CodeModule
.DeleteLines 1, .CountOfLines
End With
Else
.VBComponents.Remove oVBC
End If
End With
Next
End With
End Sub

Gruß
Rudi

AW: Speichern ohne Makro
29.01.2013 16:30:53
SoulOpa
Hallo Rudi,
und Danke. Leider bekomme ich Laufzeitfehler 438 Objekt unterstützt die Eigenschaft oder Methode nicht.
Sub KillProject(wkb As Workbook)
Dim oVBC As Object
With wkb.VBProject
For Each oVBC In .VBComponents
With oVBC
If .Type = 100 Then
With .CodeModule
.DeleteLines 1, .CountOfLines
End With
Else
.VBComponents.Remove oVBC     
Eventuell liegt der Fehler auch an mir! ich habe nicht sehr viel Ahnung bzw. gar keine von VBA. ich Zeige Dir wie ich den Code eingefügt habe.
'*******************************************
'Dialog für Speichern_unter wird geöffnet  *
Dim Pfad$, Datei$, Filter$, Endg$, File
Pfad = "C:\MJ-Solar\Angebote\"
Datei = ActiveSheet.Range("J6") & " " & Range("T4")
If Datei = "" Then
MsgBox "Zelle einhält keinen Eintrag"
Exit Sub
End If
Endg = ".xls"
If InStr(Datei, Endg) = 0 Then 'Prüfung ob Zelle bereits Endung enthält
Datei = Datei & Endg
End If
Filter = "Excel Files (*" & Endg & "), *" & Endg
File = Application.GetSaveAsFilename(Pfad & Datei, Filter)
If File  False Then
ActiveWorkbook.SaveCopyAs Filename:=File
Workbooks.Open File
KillProject ActiveWorkbook
ActiveWorkbook.Close True
End If
End Sub
Sub KillProject(wkb As Workbook)
Dim oVBC As Object
With wkb.VBProject
For Each oVBC In .VBComponents
With oVBC
If .Type = 100 Then
With .CodeModule
.DeleteLines 1, .CountOfLines
End With
Else
.VBComponents.Remove oVBC
End If
End With
Next
End With
End Sub
Kannst Du bitte noch einmal darüber schauen? Danke Rudi
mfg

Anzeige
AW: Speichern ohne Makro
29.01.2013 16:38:15
SoulOpa
Ups Vergessen
Beitrag noch Offen.
Sry

AW: Speichern ohne Makro
29.01.2013 16:44:26
Daniel
Hi
Variante 1:
File im neuen Fileformat .xlsx speichern, dann werden die Makros automatisch entfernt.
ActiveWorkbook.SaveAs Filename:=left(File, Instr(File, ".xls")-1) FileFormat:=51
Variante 2:
- neue leere Mappe anlegen und die einzelnen Sheetinhalte per Copy-Paste übertragen, dann diese Mappe entpsrechend speichrn.
das hätte den Vorteil, daß die Urspungsdatei nicht verändert wird und auch mit alten xls-Dateien funktioniert.
gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige