Thema Datum  Von Nutzer Rating
Antwort
02.02.2016 16:18:19 kaba
NotSolved
02.02.2016 17:43:50 BigBen
NotSolved
02.02.2016 18:12:36 kaba
NotSolved
02.02.2016 18:40:11 BigBen
NotSolved
Rot Tabelle speichern als xlsm mit Abfrage-Box?
02.02.2016 19:24:42 BigBen
NotSolved
02.02.2016 19:43:53 BigBen
NotSolved
02.02.2016 22:24:10 kaba
NotSolved
03.02.2016 10:18:19 BigBen
NotSolved
03.02.2016 12:15:47 kaba
NotSolved
03.02.2016 17:40:51 BigBen
NotSolved
03.02.2016 17:45:07 BigBen
NotSolved
03.02.2016 15:06:47 Gast90145
NotSolved
03.02.2016 15:14:37 Gast61811
NotSolved
03.02.2016 15:47:43 Gast59525
NotSolved
03.02.2016 16:31:57 Tim
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
02.02.2016 19:24:42
Views:
511
Rating: Antwort:
  Ja
Thema:
Tabelle speichern als xlsm mit Abfrage-Box?

Hallo Kaba,

folgender Code muss im VBA-Editor unter "Diese Arbeitsmappe eingesetzt werden:

Const myPath = "y:\kalkulation\"

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Static Instanz As Boolean
    If Not Instanz Then
        Instanz = True
        Dim myForm As XlFileFormat
        myForm = IIf(ActiveWorkbook.HasVBProject, xlOpenXMLWorkbookMacroEnabled, xlWorkbookNormal)
        If Not CheckValide(Tabelle1.Cells(1, 5).Value, 5) Then
            Tabelle1.Activate
            Tabelle1.Cells(1, 5).Select
            MsgBox "Bitte geben Sie eine 5-stellige Kundennummer ein.", vbCritical
            Cancel = True
            SaveAsUI = False
            Exit Sub
        ElseIf CheckValide(Tabelle1.Cells(1, 3).Value, 8) Then
            Tabelle1.Activate
            Tabelle1.Cells(1, 3).Select
            MsgBox "Bitte geben Sie die PNr (8 Stellig ein.", vbCritical
            Cancel = True
            SaveAsUI = False
            Exit Sub
        End If
        Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs Filename:=myPath & Tabelle1.Cells(1, 3).Value, FileFormat:=myForm
        Debug.Print "Saved " & ActiveWorkbook.Saved
        Cancel = ActiveWorkbook.Saved
        SaveAsUI = Not Cancel
        Application.DisplayAlerts = True
        Instanz = False
    End If
End Sub

Function CheckValide(Value As String, iLength As Integer) As Boolean
    CheckValide = False
    If IsNumeric(Value) Then
        If Len(CStr(Val(Value))) = iLength Then
            CheckValide = True
        End If
    End If
End Function

Dieser Code wird automatisch vor dem Speichern der Arbeitsmappe ausgeführt und prüft, ob die Angaben korrekt eingesetzt worden sind.

Erst danach wird der eigendliche Speicherbefehl ausgeführt.

Die Befehle Application.DisplayAlerts müssen kurzfristig abgeschaltet werden, da ansonsten beim Überschreiben einer bestehenden Datei eine Warnung angezeigt werden würde.

LG, BigBen


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
02.02.2016 16:18:19 kaba
NotSolved
02.02.2016 17:43:50 BigBen
NotSolved
02.02.2016 18:12:36 kaba
NotSolved
02.02.2016 18:40:11 BigBen
NotSolved
Rot Tabelle speichern als xlsm mit Abfrage-Box?
02.02.2016 19:24:42 BigBen
NotSolved
02.02.2016 19:43:53 BigBen
NotSolved
02.02.2016 22:24:10 kaba
NotSolved
03.02.2016 10:18:19 BigBen
NotSolved
03.02.2016 12:15:47 kaba
NotSolved
03.02.2016 17:40:51 BigBen
NotSolved
03.02.2016 17:45:07 BigBen
NotSolved
03.02.2016 15:06:47 Gast90145
NotSolved
03.02.2016 15:14:37 Gast61811
NotSolved
03.02.2016 15:47:43 Gast59525
NotSolved
03.02.2016 16:31:57 Tim
NotSolved