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.

Bestellmenge berechnen
#51
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:
  • wavemaster
Antworten Top
#52
Hallo Schauan,
jetzt kann Ich dir nicht ganz folgen wo was gemacht werden kann bzw muß,

bin nicht so der VBA`ler :22:
Antworten Top
#53
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 Smile
.      \\\|///      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:
  • wavemaster
Antworten Top
#54
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.
Antworten Top
#55
Hallöchen,

das Prinzip steht schon im Code Smile 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:
  • wavemaster
Antworten Top
#56
(24.01.2019, 17:01)schauan schrieb: Hallöchen,

das Prinzip steht schon im Code Smile mit & kann man Daten verbinden, feste Zeichenketten kommen in Anführungszeichen.

…..Range("C14") & "_" & Range("C16") …..

Hallo Schauan,
das ist Bombe,

Danke.... :18:
Antworten Top
#57
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
Antworten Top
#58
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:
  • wavemaster
Antworten Top
#59
Hallo Schauan,
danke es funktioniert.

:18:
Antworten Top
#60
So nochmals eine Frage zu VBA,


habe mit dem Makrorecorder ein VBA aufgezeichnet das folgendes machen sollte:

  1. den Filter in Zelle H 24 anklicken und alles ausblenden was 0,0 anzeigt.
  2. dann habe Ich den Druckbereich markiert A7-K64
  3. Dann bin Ich auf Datei denn Button Drucken gedrückt
  4. Dann zurück auf das Arbeitsblatt und den Filter in Zelle H24 angeklickt und alles einblenden aktiviert.
  5. 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
Antworten Top


Gehe zu:


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