Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1844to1848
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
Makro-Datei ohne VBA+Buttons speichern
28.08.2021 09:05:34
Memo
Guten Morgen zusammen,
Ich habe eine Makro Datei mit diversen Buttons usw.
Diese Datei möchte ich - entweder nach einem klick auf einen neu erstellen Button - oder anderweitig ausführend, auf nach meinem Wunschort und Wunschname ohne Makro/VBA speichern - so jetzt hänge ich hier: Diese Datei soll dann auch bitte ohne Buttons und sonstigen VBA Code gespeichert werden, denn die Datei wird anderen Personen verschickt - sollte als normale Excel sein.
Wie bekomme ich diese Buttons und Codes weg, sodass nach speichern eine wirklich normale Exceldatei ohne VBA und Buttons oder sonst noch eine Spur von VBA übrig bleibt.
Mit diesem Code Funktioniert es nicht.

Sub SpeichernUnter()
Dim strDateiname As String
ChDrive "c:\"
ChDir "\Users\"
Application.Dialogs(xlDialogSaveAs).Show (strDateiname)
End Sub
Anbei eine Beispieldatei wo es nicht funktioniert.
https://www.herber.de/bbs/user/147816.xlsm
Danke für eure Hilfe.
VG
Memo

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 10:29:17
Memo
Hi Werner,
danke für dein Hinweis, den einen Beitrag hatte ich bereits gefunden gehabt.
Jedoch soll ja beides kombiniert werden.
Nach löschen der Buttons (Steuerelemente Buttons) soll die Datei auch ohne VBA Code gespeichert werden.
Den Speicherort sowie den Speichernamen muss der User selbst wählen dürfen.
Wie bekomme ich bei diesem Code hin, dass er mir die Auswahl gibt den Dateinamen selbst zu wählen ? HansWurst soll weg.
DateiName = " " funktioniert nicht.
Dann bekomme ich noch die Fehlermeldung bei fett markierte Zeile. Warum? wird ja auf dem Desktop gespeichert.

Sub datei_save()
Dim DateiName As String
Dim strOrdner As String
With Application.FileDialog(msoFileDialogFolderPicker) '--- Ordner wählen
.InitialFileName = "C:\"
.Title = "Ordnerauswahl"
.ButtonName = "Auswahl..."
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strOrdner = .SelectedItems(1)
If Right(strOrdner, 1)  "\" Then strOrdner = strOrdner & "\"
Else
strOrdner = ""
End If
End With
If strOrdner = "" Then MsgBox ("Kein Ordner gewählt!") Else MsgBox strOrdner
DateiName = "HansWurst"
Application.DisplayAlerts = False '-- Wenn datei vorhanden wird sie überschieben und es wird _
nicht nachgefragt
ActiveWorkbook.SaveAs Filename:=strOrdner & DateiName & " .xlsx ", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False    '-- Wird auf dem Desktop gespeichert"
End Sub
Wie bekomme ich den oberen Code mit diesem Code verschmolzen, also in einer Ausführung:
Natürlich zuerst Buttons weg, danach Datei speichern ohne VBA und Dateiname sowie Ort wählt der User.

Sub SchalterWeg()
Dim objWs As Worksheet
Dim objShp As Shape
For Each objWs In ThisWorkbook.Worksheets
If objWs.Name  "k_Test" Then
For Each objShp In objWs.Shapes
If objShp.Type = 12 Then objShp.Delete
Next
End If
Next
End Sub
Danke + Grüße
Memo
Anzeige
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 11:46:06
Werner
Hallo,

Sub mal_anders()
Dim varFileName As Variant, objWs As Worksheet, objShp As Shape
ChDir "C:/"
varFileName = Application.GetSaveAsFilename(varFileName, "Excel Arbeitsmappe ohne VBA (*.xlsx),*.xlsx,")
'Achtung: eine vorhandene Datei wird
'ohne Nachfrage überschrieben
Application.DisplayAlerts = False
If Not varFileName = False Then
For Each objWs In ThisWorkbook.Worksheets
For Each objShp In objWs.Shapes
If objShp.Type = 12 Then objShp.Delete
Next objShp
Next objWs
ThisWorkbook.SaveAs (varFileName)
Else
MsgBox "Abbruch durch Nutzer."
End If
End Sub
Gruß Werner
Anzeige
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 14:54:16
Memo
Hi Werner,
dieser Code funktioniert bis auf die Fehlermeldung bei
ThisWorkbook.SaveAs (varFileName).
...nachdem ich die Datei mit Wunschnamen speichern möchte.
Habe versucht diese Fehlermeldung durch On error resume next abzufangen :)....aber dann speichert er auch nicht.
Vermutlich habe ich mich nicht korrekt ausgedrückt.. Hier nochmal:
Ich habe eine Makro Datei mit Buttons und Codes. Dies ist eigentlich eine Vorlage - diese Vorlage soll für immer auch so bleiben.
Beim speichern jedoch soll diese Datei nur ohne Buttons und Code gespeichert werden - die Vorlage bleibt weiterhin bestehen.
Der User speichert die Datei dann seinem Wunschort und Name entsprechend ab.
Sorry - kann die Fehlermeldungen noch nicht so entschlüsseln.
VG
Memo
Anzeige
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 15:35:30
Memo
Hi Werner,
hier dein Code in der Datei. Wie bereits zuvor beschrieben, funktioniert teilweise + Fehlermeldung dich ich nicht verstehe.
https://www.herber.de/bbs/user/147818.xlsm
Grüße
Memo
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 16:41:36
Werner
Hallo,
da wurde "oben" nirgendwo ein Dateiname angegeben!
Den Dateinamen legst du im Speichern unter Dialog fest. Entweder du wählst eine vorhandene Datei aus, die dann überschrieben wird, oder du gibst deinen "Wunschnamen" im Feld Dateiname ein.

Option Explicit
Sub mal_anders()
Dim varFileName As Variant, objWs As Worksheet, objShp As Shape
ChDir "C:/"
varFileName = Application.GetSaveAsFilename(varFileName, "Excel Arbeitsmappe ohne VBA (*.xlsx),*.xlsx,")
Application.DisplayAlerts = False
If Not varFileName = False Then
For Each objWs In ThisWorkbook.Worksheets
For Each objShp In objWs.Shapes
If objShp.Type = 12 Then objShp.Delete
Next objShp
Next objWs
ThisWorkbook.SaveAs varFileName, FileFormat:=xlOpenXMLWorkbook
Else
MsgBox "Abbruch durch Nutzer."
End If
End Sub
Gruß Werner
Anzeige
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 17:01:21
Memo
Hi Werner,
genau das will ich ja nicht. Die Dateinamen sind immer variabel. Ich möchte einfach speichern unter Dialog Dateinamen eingeben dann irgendwo abspeichern - ohne Buttons - ohne VBA Codes- das tut es aber nicht. Er speichert einfach nix ab.
Wenn der Dateiname fix wäre dann würde ich ja im Quellcode den Namen angeben - ist es aber nicht.
Bitte teste mal die Datei aus die ich im vorherigen Kommentar geschickt habe und versuche irgendwi abzuspeichern - geht nicht.
Bitte teste mal den Code aus, die ich im vorherigen Kommentar geschickt habe.
Abspeichern geht nicht.
VG
Memo
Anzeige
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 17:51:34
Werner
Hallo,
schätze mal, das Testen wäre wohl eher deine Sache.
Wo habe ich geschrieben, dass der Dateiname fix ist?
Da ist gar nichts fix. Im SaveUnter-Dialog kannst du irgendeinen Dateinamen im entsprechenden Feld eingeben.
Ich frage mich, weshalb du das nicht einfach mit meinem letzten Code mal testest? Weil gemacht hast du das offensichtlich nicht.
Gruß Werner
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 20:14:44
Memo
Hi Werner
Ich meine ich habe dein vorherigen Code getestet, oder doch nicht :/
Werde es testen wenn ich wieder daheim bin.
Danke für deine Rückmeldung.
Bis später.
Grüße
Memo
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 19:09:42
sicci
Hallo,
bei mir funktioniert Werners Makro, mit einer kleinen Änderung in folgender Zeile:
ThisWorkbook.SaveAs (varFileName), FileFormat:=xlWorkbookNormal
Viele Grüße
Anita
Anzeige
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 09:30:58
Hajo_Zi
Hallo Memo,
die Schalter musst Du per VBA löschen.
ActiveSheet.Shapes.Range(Array("CommandButton1", "CommandButton2")).Delete
GrußformelHomepage
AW: Makro-Datei ohne VBA+Buttons speichern
28.08.2021 13:51:06
Memo
Hallo Hajo,
kommt diese Zeile dann in „Diese Arbeitsmappe“ oder als ein alleinständiger Modul?
Oder muss ich deine Zeile hier rein pflanzen? Vermutlich ohne Deklaration funktioniert es nicht, bekomme Fehlermeldung.

Sub SpeichernUnter()
Dim strDateiname As String
ChDrive "c:\"
ChDir "\Users\"
Application.Dialogs(xlDialogSaveAs).Show (strDateiname)
End Sub
VG
Memo
Anzeige
alle Beiträge zu lesen...
28.08.2021 14:04:15
Werner
Hallo,
...ist nicht so deins?
Gruß Werner
AW: alle Beiträge zu lesen...
28.08.2021 14:35:29
Memo
Hi Werner,
doch ich recherchiere immer bevor ich ein Beitrag schreibe.
In diesem Fall wahrscheinlich zu wenig gelesen, ich suche weiter.
Möglicherweise hab ich die wichtigsten überflogen 🧐.
Grüße,
Memo
gut, wenn du....
28.08.2021 14:38:32
Werner
Hallo,
...meinen Code nicht wenigstens mal testen willst, soll mir das auch recht sein.
Gruß Werner
sorry habs später gesehen:) owT
28.08.2021 14:55:21
Memo
..
AW: gut, wenn du....
28.08.2021 22:52:13
Memo
Hallo Werner,
mit diesem Zusatz
FileFormat:=xlWorkbookNormal
zu
ThisWorkbook.SaveAs (varFileName), FileFormat:=xlWorkbookNormal
hat es nun funktioniert.
Danke an alle für eure Mithilfe.
Schönen Abend
Memo
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
29.08.2021 08:57:52
Werner

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige