Thema Datum  Von Nutzer Rating
Antwort
Rot VBA-Code beim speichern vollständig löschen
08.05.2017 15:31:59 Mario
NotSolved
08.05.2017 16:35:25 Gast41171
Solved

Ansicht des Beitrags:
Von:
Mario
Datum:
08.05.2017 15:31:59
Views:
1030
Rating: Antwort:
  Ja
Thema:
VBA-Code beim speichern vollständig löschen

Hallo,

ich habe eine Arbeitsmappe wo ich mir mittels Sverweis diverse Produktdaten aus einem Zentralen Excel hole (wie z.B. Preise). Ich habe einen

Button eingebaut mit dem ich das Excel für "Externe" speichern kann in dem die Sverweise und Formeln durch Werte ersetzt werden. Soweit

funktioniert das. Jetzt habe ich aber gesehen, dass der VBA-Code darin enthalten bleibt.

Ich möchte nun auch noch diesen Code beim abspeichern ohne Rückfrage entfernen. Geht das????

 

Hier der Code:

 

Sub Speichern_EPG()
 
 
Dim ord As String
Dim Dateiname As String
Dim Antwort As Integer
Dim Wert As String
Dim rngZelle As Range
Dim lngAnz As Long
Dim sh As Worksheet
Dim rng As Range
 
    Application.ScreenUpdating = False
 
 'prüfen ob ein Ordner vorhanden ist und falls nicht
 'fragen ob Ordner erstellt werden soll
  
 'Datei Speichern unter angegeben Pfad mit Erstellung des Ordners und Speicherung als Preisliste_SSL_Lieferanten_V0.
    Wert = [A2].Value
    ord = "P:\gba\abteilungen\AEC\EPLAN\Data\Projekte\KEBA AG\" & Wert & ".edb" & "\DOC" & "\Angebot"
    If Dir(ord, vbDirectory) <> "" Then
        MsgBox "Ein Ordner mit dem Namen Angebot ist im Verzeichnis " & ord & " schon vorhanden!"
        MsgBox "Es wird kein Ordner angelegt das Dokument wird jedoch in den vorhandenen Ordner gespeichert!"
    Else
    Antwort = MsgBox("Der Ordner " & ord & " ist nicht vorhanden!" _
            & vbNewLine _
            & "Soll der Ordner angelegt werden?", vbYesNo)
            If Antwort = vbYes Then
            MkDir ord
            MsgBox "Der Ordner " & ord & " wurde angelegt und die Datei darin gespeichert!"
            Else
            MsgBox "Es wurden keine Änderungen vorgenommen!"
            End If
         End If
         
    ActiveWorkbook.Sheets.Copy 'Tabellenblatt kopieren
   
     
    For Each sh In ActiveWorkbook.Worksheets
        For Each rng In sh.UsedRange.Cells
            rng.Formula = rng.Value           'Formeln, SVerweise, etc. durch Werte ersetzen
        Next
    Next
             
    ActiveSheet.Shapes.Range(Array("Button 4")).Select    'Makro Buttons löschen
    Selection.Delete
    ActiveSheet.Shapes.Range(Array("Button 3")).Select    'Makro Buttons löschen
    Selection.Delete
    ActiveSheet.Shapes.Range(Array("Button 2")).Select    'Makro Buttons löschen
    Selection.Delete
    ActiveSheet.Shapes.Range(Array("Button 1")).Select    'Makro Buttons löschen
    Selection.Delete
             
    'Datei speichern
    ActiveWorkbook.SaveCopyAs Filename:="P:\gba\abteilungen\AEC\EPLAN\Data\Projekte\KEBA AG\" & Wert & ".edb" & "\DOC" & "\Angebot\Preisliste_SSL_Lieferanten_V0_EPG.xlsx" _
        
        
    Application.DisplayAlerts = False 'Meldungen deaktivieren (Meldung ob man das Dokument speichern will)
    ActiveWorkbook.Close              'das kopierte Tabellenblatt wieder schließen
    Application.DisplayAlerts = True  'Meldungen aktivieren
    
    Application.ScreenUpdating = True
    
End Sub

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA-Code beim speichern vollständig löschen
08.05.2017 15:31:59 Mario
NotSolved
08.05.2017 16:35:25 Gast41171
Solved