Clever-Excel-Forum

Normale Version: Bestellmenge berechnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7
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.
Hallo Schauan,
jetzt kann Ich dir nicht ganz folgen wo was gemacht werden kann bzw muß,

bin nicht so der VBA`ler :22:
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
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.
Hallöchen,

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

…..Range("C14") & "_" & Range("C16") …..
(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:
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
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.
Hallo Schauan,
danke es funktioniert.

:18:
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
Seiten: 1 2 3 4 5 6 7