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
02.02.2016 19:24:42 BigBen
NotSolved
02.02.2016 19:43:53 BigBen
NotSolved
Rot Tabelle speichern als xlsm mit Abfrage-Box?
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:
kaba
Datum:
02.02.2016 22:24:10
Views:
513
Rating: Antwort:
  Ja
Thema:
Tabelle speichern als xlsm mit Abfrage-Box?

Hallo BigBen!

 

herzlichen Dank für deine schnelle Antwort!

Das mit dem Ribbon, da überschätzt du mich :/

Ich kann grad nur Steuerelemente einfügen und mit Makros versehen, also Ribbon-Button und so Sachen bin ich nicht geübt, sorry.

Deinen Code habe ich nun in 'Diese Arbeitsmappe' eingegeben. Es ist eine Vorlagen-Datei mit Makros (Kalkulation.xltm). Ich habe den Pfad geändert, da hier ich kein Netzlaufwerk habe.

Jetzt gibts leider folgende Probleme:

a) beim schliessen/speichern wird nur die KD-NR abgefragt. 
b) wenn ich die eingebe, schliesst es, aber ohne die Pj-Nr abzufragen.
c) wenn ich gar nix eingebe, schliesst es auch beim 2. Versuch komplett ohne Abfrage.
d) es speichert dann in einem komplett anderen Pfad, unter Vorschlag eines Dateinamens ( kalkulation1.xls)
e) wenn ich abbreche und wieder speichere/schliessen wähle, kommt gar keine Abfrage mehr und will wieder in o.g. Pfad speichern.
 

Const myPath = "c:\tmp\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

Was mache ich falsch?

Danke & Gruss,

Jürgen


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
02.02.2016 19:24:42 BigBen
NotSolved
02.02.2016 19:43:53 BigBen
NotSolved
Rot Tabelle speichern als xlsm mit Abfrage-Box?
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