Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
wenn Du das Original nicht gespeichert hast, brauchst Du es auch nicht zurücksetzen. Öffne in Deinem Code das Original und schließe mit ThisWorkbook.Close False das mit SaveAs gespeicherte offene.
. \\\|/// 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:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• wavemaster
Registriert seit: 12.10.2014
Version(en): 2016
Hallo Schauan, jetzt kann Ich dir nicht ganz folgen wo was gemacht werden kann bzw muß,
bin nicht so der VBA`ler :22:
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
24.01.2019, 17:35
(Dieser Beitrag wurde zuletzt bearbeitet: 24.01.2019, 17:35 von schauan.)
Hallöchen, hie rmal ein Auszug aus dem Original: Code: ActiveWorkbook.SaveAs strFilename, FileFormat:= _ xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
Das könntest Du so ergänzen: Code: ActiveWorkbook.SaveAs strFilename, FileFormat:= _ xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 'Datei oeffnen Workbooks.Open "C:\ichweissnichtwodieliegt\ichweissnichtwiedieheisst.xlsx" 'diese Datei ohne Speichern schliessen Thisworkbook.Close False End Sub
Ist jetzt allerdings ungetestet
. \\\|/// 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:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• wavemaster
Registriert seit: 12.10.2014
Version(en): 2016
Hallo Schauan, funktioniert auf Anhieb
Danke
PS jetzt ist nur noch die eine Frage offen Besteht eigentlich die Möglichkeit das man an der Range("C14"), ".xlsm") noch die Zelle C16 einbindet. ZB. in C14 steht Mayer und in C16 Wohnzimmer der Speichername sollte dann Mayer_Wohnzimmer.xlsm lauten.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, das Prinzip steht schon im Code  mit & kann man Daten verbinden, feste Zeichenketten kommen in Anführungszeichen. …..Range("C14") & "_" & Range("C16") …..
. \\\|/// 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:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• wavemaster
Registriert seit: 12.10.2014
Version(en): 2016
(24.01.2019, 18:01)schauan schrieb: Hallöchen,
das Prinzip steht schon im Code mit & kann man Daten verbinden, feste Zeichenketten kommen in Anführungszeichen.
…..Range("C14") & "_" & Range("C16") ….. Hallo Schauan, das ist Bombe, Danke.... :18:
Registriert seit: 12.10.2014
Version(en): 2016
28.01.2019, 12:31
(Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2019, 12:34 von WillWissen.
Bearbeitungsgrund: Codetags
)
Hallo zusammen, habe versucht aus einer bestehenden VBA Sammlung das richtige zusammen zu stellen jedoch klappt dies nur zu hälfte. Bin nicht so der VBA`ler. Ich gehe jedoch davon aus das an derm unteren Teil etwas nicht mit oberen Teil harmoniert. Folgendes wollte ich ( hat zum Teil geklappt) erreichen. Button drücken ein bestimmter Bereich wird unter dem was in Zelle C14 und C16 steht mit dem Datum abgespeichert. was er jedoch nicht macht ist wenn die Datei schon vorhanden ist diese mit der 0001 und folgende zu erhöhen. Er überschreibt auch die bestehende nicht . Kann mir jemand helfen :19: :19: :19: :19: Code: Sub PDF_Speichern_1()
Dim strFilename As String Const LW = "F:\" Const DateiPfad = "F:\0005 Fa Knopf Unterlagen\08 Kalkulationsunterlagen\Kunden_Angebote\Trockenbau\" ChDrive LW
DateiName = (DateiPfad & Range("C14") & "_" & Range("C16") & "_" & Format(Date, "YYYY-MM-DD_") & ".pdf")
Range("$A$7:$K$64").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ DateiName, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ False
End Sub
Private Function getName(ByVal strName As String, ByVal strExtension As String) As String Dim lngNummer As Long If Dir(strName & strExtension) = "" Then getName = strName & strExtension Else lngNummer = 1 While Dir(strName & "_" & Format(lngNummer, "000") & strExtension) <> "" lngNummer = lngNummer + 1 Wend getName = strName & "_" & Format(lngNummer, "000") & strExtension End If End Function
Danke
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
im Moment speicherst Du Deine pdf mit dem Datum im Name ab. Die Function getName verwendest Du nicht.
Die Frage wäre, wo die Nummer hin soll. Wenn die hinter das Datum soll, dann eventuell so:
DateiName = getName(DateiPfad & Range("C14") & "_" & Range("C16") & "_" & Format(Date, "YYYY-MM-DD_") , ".pdf")
Übrigens bekommst DU dann vor .pdf 2x das Underline. Du könntest auch das nach DD weglassen.
. \\\|/// 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:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• wavemaster
Registriert seit: 12.10.2014
Version(en): 2016
Hallo Schauan, danke es funktioniert.
:18:
Registriert seit: 12.10.2014
Version(en): 2016
So nochmals eine Frage zu VBA, habe mit dem Makrorecorder ein VBA aufgezeichnet das folgendes machen sollte: - den Filter in Zelle H 24 anklicken und alles ausblenden was 0,0 anzeigt.
- dann habe Ich den Druckbereich markiert A7-K64
- Dann bin Ich auf Datei denn Button Drucken gedrückt
- Dann zurück auf das Arbeitsblatt und den Filter in Zelle H24 angeklickt und alles einblenden aktiviert.
- den Makrorecorder beendet.
Beim aufzeichen waren alle Felder in der Spalte H25-H51 leer. Werden jetzt einige Zellen durch die bearbeitung belegt und das Makro gestartet blendet es auch die Zellen über 0,0 aus. kein Plan wie das geht.... :22: :22: Sub Drucken() ' ' Drucken Makro ' ' ActiveSheet.Range("$A$24:$J$52").AutoFilter Field:=8, Criteria1:="=" Range("A7:K64").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$24:$J$52").AutoFilter Field:=8 Range("A7").Select End Sub das ist das aufgezeichnete Makro
|