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

VBA - Buttons & Makros löschen

VBA - Buttons & Makros löschen
31.01.2019 17:47:49
Basti
Hallo und guten Abend ihr fleißigen Helfer,
momentan beschäftige ich mich damit:
Option Explicit
Public Sub Datei_senden()
Dim objFileDialog As FileDialog
Dim strPath As String
Set objFileDialog = Application.FileDialog(msoFileDialogSaveAs)
With objFileDialog
.FilterIndex = 1
.InitialFileName = "\Belegungsliste_vom_" & Format(Date, "ddmmyy") & ".xlsx" ' _
Voreingestellten Pafd und Dateiname anpassen !!!
If .Show Then strPath = .SelectedItems(1)
End With
Set objFileDialog = Nothing
If strPath  vbNullString Then
Application.ScreenUpdating = False
Call ThisWorkbook.Worksheets(Array("Belegung", "Brandschutz")).Copy 'Tabellennamen  _
anpassen
With Workbooks(Workbooks.Count)
.Worksheets(1).UsedRange.Value = .Worksheets(1).UsedRange.Value
Call .SaveAs(Filename:=strPath, FileFormat:=xlOpenXMLWorkbook)
Call .Close(SaveChanges:=False)
End With
Application.ScreenUpdating = True
End If
End Sub
Beim betätigen des Knopfes, sollen die Arbeitsblätter Belegung und Brandschutz kopiert werden und das ohne Formel, lediglich die ausgegebenen Werte, soweit funktioniert alles super.
Nun stellt sich heraus, das in der neu entstandenen Datei das Passwort der einzelnen Arbeitsblätter stört und zusätzlich auch die Makros und der Knopf, diese sollen nun im neuen Dokument beim Speichern entfernt werden. Habt ihr da eine Idee?
Gruß Basti

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Buttons & Makros löschen
31.01.2019 17:51:20
Daniel
Hi
lass das mit dem Sheets.Copy.
erstelle mit Workbooks.Add eine neue leere Datei und kopiere dort die benötigten Inhalte hinein.
Gruß Daniel
AW: VBA - Buttons & Makros löschen
31.01.2019 18:01:50
Basti
wie stellst du dir das denn vor?
AW: VBA - Buttons & Makros löschen
31.01.2019 18:24:11
Daniel
im Prinzip so (Code ist von dir entsprechend zu ergänzen)
Dim x As Long
Dim wb As Workbook
x = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 2
Set wb = Workbooks.Add
Application.SheetsInNewWorkbook = x
ThisWorkbook.Sheets("Belegung").Cells.Copy
wb.Sheets(1).Cells(1, 1).PasteSpecial xlPasteValues
wb.Sheets(1).Cells(1, 1).PasteSpecial xlPasteFormats
wb.Sheets(1).Cells(1, 1).PasteSpecial xlPasteComments
wb.Sheets(1).Name = "Belegung"
'das gleiche dann mit wb.Sheets(2) und "Brandschutz"
'hier der Code zum Speichern
Gruß Daniel
Anzeige
AW: VBA - Buttons & Makros löschen
31.01.2019 18:45:53
Basti
Ok werde ich mir als Notfallplan in Erinnerung halten. Danke dir.
AW: VBA - Buttons & Makros löschen
31.01.2019 18:13:02
Nepumuk
Hallo Basti,
die Makros siehst du zwar noch im VBA-Editor, sind aber in der Datei selbst nicht mehr vorhanden. Eine .xlsx kann keine Makros enthalten.
Den Blattschutz und den Button kannst du so entfernen:
Public Sub Datei_senden()
    Dim objFileDialog As FileDialog
    Dim objWorksheet As Worksheet
    Dim objShape As Shape
    Dim strPath As String
    Set objFileDialog = Application.FileDialog(msoFileDialogSaveAs)
    With objFileDialog
        .FilterIndex = 1
        .InitialFileName = "\Belegungsliste_vom_" & Format(Date, "ddmmyy") & ".xlsx" ' _
            Voreingestellten Pafd und Dateiname anpassen !!!

        If .Show Then strPath = .SelectedItems(1)
    End With
    Set objFileDialog = Nothing
    If strPath <> vbNullString Then
        Application.ScreenUpdating = False
        Call ThisWorkbook.Worksheets(Array("Belegung", "Brandschutz")).Copy 'Tabellennamen anpassen
        With Workbooks(Workbooks.Count)
            For Each objWorksheet In .Worksheets
                Call objWorksheet.Unprotect(Password:="GEHEIM")
                For Each objShape In objWorksheet.Shapes
                    Call objShape.Delete
                Next
            Next
            .Worksheets(1).UsedRange.Value = .Worksheets(1).UsedRange.Value
            Call .SaveAs(Filename:=strPath, FileFormat:=xlOpenXMLWorkbook)
            Call .Close(SaveChanges:=False)
        End With
        Application.ScreenUpdating = True
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA - Buttons & Makros löschen
31.01.2019 18:45:04
Basti
Ah stimmt :D
Danke hat super funktioniert.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige