Clever-Excel-Forum

Normale Version: Dateiname = Inhalt Zelle
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Excel Team,
hatte schon einen Thread verfasst bei dem ich mich diesbezüglich verzettelt habe.

Ich habe eine Zelle mit "Artikelnummer" als Text formatiert da die Nummer auch alphanumerische Inhalte haben kann. Diese Zelle "B5" möchte ich nun dazu verwenden, dass wenn ich auf die Ecxel-Schaltfläche "speichern unter" klicke, dass als Dateiname schon die "Artikelnummer" geschrieben ist.

(Schön wäre wenn ich noch den Pfad angeben könnte) muss aber nicht zwingend sein. Möchte das so "schlank" als möglich haben.


Gruß

Volker
Hi Volker,

da ich auf diese Threads achte, aufgrund meiner Beteiligung, wäre ich Dir verbunden, wenn Du Feedback geben würdest.
Selbst wenn Du den Thread als erledigt kennzeichnest. Ist doch fair oder ?

Eine Prozedur könnte folgendermaßen ausschauen:

Code:
Sub SpeichernUnter()
    'dek
    Dim sFilename As String
    Dim v As Variant
    'def
    sFilename = Tabelle1.Range("B5").Text
    v = Application.GetSaveAsFilename(sFilename, "Excel-Datei, *.xlsx", 1)
    '
    If Not v = False Then
        ThisWorkbook.SaveCopyAs v
    End If
End Sub

Hinweis:
Tabelle1 bezieht sich auf den Codenamen.
Hilfsweise kannst Du Tabelle1 auch durch
Code:
sFilename = Worksheets("Tabelle1").Range("B5").Text
ersetzen.
Danke Versuche das gleich noch - hoffe, das klappt.

ich glaub ich mach hier grundsätzlich was falsch.

habe den Code nun wie im beigefügten jpg eingefügt.
Tabelle1 durch den richtigen "Kalkulation" ersetzt.

funzt nicht Huh


[attachment=25609]
Hallo,

dir fehlt die erste Codezeile

Code:
Sub SpeichernUnter()
Und wieso hawt du hier
https://www.clever-excel-forum.de/Thread...-Dateiname
nicht mehr geantwortet? Haben dir unsere Antworten nicht gefallen? Das ist nicht die Art, wie man mit Helfern umgeht.
Hallo Bernie,
sorry fürs nicht weiterführen des Threads.
War heute extrem im Zeitdruck mit der Tabelle und nix funktionierte wie ich das wollte!


Mit den rauskopierten Code dachte ich dann, dass das der komplette Schwachsinn ist den ich hier gefunden habe. Mit VBA / Modulen kenn ich gar gar gar nicht aus.

Sorry hätte mich wirklich bedanken sollen und das Thema schließen.

Volker
So ist es richtig

Code:
sFilename = Worksheets("Kalkulation").Range("B5").Text
Hallo Miteinander,

ich werde noch zum Hirsch.
Beigefügt mal die vba.xlsm  (denke, das passt mit der Dateiendung?)
Weiterhin den Screen wo ich den Code eingefügt habe!
Und den Speichern unter Dialog - bei dem immer noch VBA.xlsm und nicht der "Inhalt Zelle B5" als Dateinamen angezeigt wird.

Ich bekomme keine Fehlermeldung nix - weis auch nicht ob der Code / Makro überhaupt angestoßen wird

was mach ich denn falsch?? Angry


An alle Helfer ganz lieben Dank für die Hilfe und auch für die bereits geposteten Antworten.
Hallo,

dieses Makro musst Du aus DieseArbeitsmappe entfernen und in einem allgemeinen Modul (VBA-Editor - Menüleiste den Punkt Einfügen auswählen - Modul) einfügen und da immer staten. Wenn Du es über den Speichern unter-Dialog machen willst, füge dieses Makro in dem Klassenmodul DieseArbeitsmappe ein

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    'dek
    Dim sFilename As String
    Dim v As Variant
    'def
    sFilename = Worksheets("Kalkulation").Range("B5").Text
    v = Application.GetSaveAsFilename(sFilename, "Excel-Datei, *.xlsx", 1)
    '
    If Not v = False Then
        ThisWorkbook.SaveCopyAs v
    End If
End Sub
[attachment=25619]
Hallo Steffel - danke schon mal für Deine Mühe mir als "VBA Greenhorn" zu helfen.

beigefügt nochmal das nun hoffentlich richtig und am richtigen ort eingefügte Klassenmodul.

Du schreibst
"und da immer staten"

wo denn / wie denn.
Muss ich hier eine Schlatfläche einbauen (in die Mappe) oder in die Menüleste von Excel als ICON und dann das Makro starten??

.. geht das nicht wenn ich in der geöffneten Arbeitsmappe nur auf das Icon speichern unter klicke.


Sad bei mir ist das nun eingefügt - hat sich aber noch keine Veränderung im "speichern unter Dialog" ergeben - sprich es wird immer noch die alte Dateinamen "VBA" als Dateinamen vorgegeben.


Gruß Volker
Seiten: 1 2