Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Hilfe bei Schaltfläche
#11
Hi,

die Zellverbindung aufheben, vgl. hier.
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#12
Hi @luckyjoe

ich habe den Code nun auf deinen abgeändert, er speichert es zwar aber immer unter false...
Habe ich etwas vergessen ?
Danke dir!!!!
Antworten Top
#13
Hi,

stimmt, ich hatte das Speichern nicht getestet. Wenn die Bedingung auf "ort" überflüssig ist, dann probiere es mal hiermit:

Ich habe den Dateinamen in eine gesonderte Variable gespeichert, damit es einfacher ist, daran Änderungen vorzunehmen. Wie ich aus einem Code von dir gelesen hatte, soll das ganze ja auch als ".xlsx" abgespeichert werden, also ohne Makros. Das habe ich jetzt auch integriert. Bei mir funktioniert das Speichern jetzt wie gewünscht:

Code:
Private Sub CommandButton1_Click()

    Const Pfad As String = "C:\temp\Test\"
    Dim Dateiname As String
   
    Application.DisplayAlerts = False   ' Warnmeldung ausschalten
   
    ' Zeichnungsnummer_Index+IndexNr_Bestellnummer_Lieferant_WEDatum
    ' Zeichnungsnummer_Index (H4)
    ' IndexNr                (M4)
    ' Bestellnummer          (C8)
    ' Lieferant              (C6)
    ' WEDatum                (M6)
    Dateiname = Range("H4") & "_" & "Index" & "_" & Range("M4") & "_" & Range("C8") & "_" & Range("C6") & "_" & Range("M6") & ".xlsx"
    Debug.Print Pfad & Dateiname
    ActiveWorkbook.SaveAs Filename:=Pfad & Dateiname, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
                         
    Application.DisplayAlerts = True    ' Warnmeldung einschalten

End Sub

Mit "Debug Print" werden Pfad und Dateiname auch im Direktfenster ausgegeben, so dass du zum Testen auch die Zeile mit dem "ActiveWorkbook.SaveAs" vorübergehend auskommentieren kannst, indem du vor die Zeile einfach ein "'" stezt.
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
[-] Folgende(r) 1 Nutzer sagt Danke an LuckyJoe für diesen Beitrag:
  • painkiller
Antworten Top
#14
Perfekt!! Ich danke dir Smile

Ich möchte noch gerne das in der Vorlage die Zellen wieder leer sind.
Habe es mit diesem Code probiert, es leert zwar die Zellen aber auch in der abgespeicherten Version Sad
Code:
Range("H4,M4,C4,C8,C6,M6").ClearContents


Die Lieferanten als Dropdown und die Lieferanten Nr. als Wenn Funktion kann man machen ?
Oder gibt es da eine bessere Lösung?
Das Problem was ich damit habe ist, man kann keine alternativ Lieferanten die nicht hinterlegt sind eintragen ...

Danke für eure Tipps Smile
Antworten Top
#15
Hallöchen,

ändere die Vorlage gesondert und speichere die Datei auch wieder als Vorlage ab.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#16
(12.06.2020, 17:08)schauan schrieb: Hallöchen,

ändere die Vorlage gesondert und speichere die Datei auch wieder als Vorlage ab.

Das ist zu aufwändig ...wir machen am Tag an die 50 Berichte ..
Antworten Top
#17
Hallöchen,

warum ändert Ihr dann die Daten in der Vorlage und nehmt nicht verschiedene Vorlagen? Der Sinn einer Vorlage ist doch, dass diese unverändert für verschiedene Zwecke und / oder einen bestimmten Zeitraum genutzt werden kann.
Eine Vorlage ist übrigens eine *.xlt*
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#18
Es sind Prüfberichte die wir erstellen ...und bei jedem Bericht müssen andere Daten eingegeben werden.
Früher haben wir alles eingetragen dann den Bericht mit dem ellenlangen Pfad abgespeichert- das haben wir ja jetzt gelöst durch den CommandButton.
Aber wie gesagt , Excel soll nach dem speichern die eingegeben Daten aus der Vorlage löschen ---das muss doch gehen --mhhh
Antworten Top
#19
Hola,

geht wohl jetzt hier weiter...

https://www.herber.de/forum/archiv/1764t...tm#1765253

Gruß,
steve1da
Antworten Top
#20
Hallöchen,

Deine Makrodatei ist keine Vorlage im eigentlichen Sinn. Wie gesagt, eine "echte" Vorlage speichert man als xlt*

Deine xlsm - Vorlage musst Du doch nicht unbedingt leeren. Speichere sie einfach nicht ab, dann ändert sich nix. Sicherheitshalber versiehst Du sie noch mit einem Schreibschutz. Wenn Du sie erneut öffnest, hat sie dann wieder den Originalzustand.

Range("H4,M4,C4,C8,C6,M6").ClearContents leert die Zellen nur in dem Blatt, welches gerade aktiv ist.

Wenn der Code in verschiedenen Dateien Zellen leert, muss er auch entsprechend oft und in diesen Dateien und Blättern ausgeführt werden. Dazu musst Du selbige aber auch öffnen. Liegt die gespeicherte Datei nur irgendwo rum, passiert dort nix. Und wenn Du die gespeicherte Datei öffnest, dort was löschst und die Datei nicht wieder speicherst, ist die gespeicherte auch weiterhin ok.

Könnte aber auch sein, Du speicherst die Datei nach dem Löschen nochmal unter dem gleichen Namen wie die bereits gespeicherte. Klar, dann sind die Daten dort weg. Ist dann aber nicht mehr die "alte" gespeicherte, auch wenn die gleich heißt. Leider geht aus der einzelnen Codezeile nicht hervor, was da sonst noch passiert... Könnte ja sein, dass Du die Zeile in den Code von LuckyJoe eingefügt hast ...

Eventuell meinst Du ja, dass irgendwer Deine gespeicherte Datei öffnet, den Code ausführt und damit die Daten löscht und die Datei dann wieder speichert. Dann musst Du es auch so beschreiben. Dann könntest Du die Datei ja als xlsx speichern, dann hat sie keinen Code mehr.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • painkiller
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste