Clever-Excel-Forum

Normale Version: Hilfe bei Schaltfläche
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5
Hi,

die Zellverbindung aufheben, vgl. hier.
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!!!!
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.
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
Hallöchen,

ändere die Vorlage gesondert und speichere die Datei auch wieder als Vorlage ab.
(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 ..
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*
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
Hola,

geht wohl jetzt hier weiter...

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

Gruß,
steve1da
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.
Seiten: 1 2 3 4 5