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.

PDF erstellen, Eingaben löschen
#11
Ich hatte dir bereits geschrieben, wie du Bereiche löschst. Das mit den eingefügten Spalten ist viel aufwändiger, du musst schließlich irgendwo mitprotokollieren, wie und wo die Spalten eingefügt wurden. Das alles ersparst du dir durch eine Excelvorlage. Ich habe fertig.
Schöne Grüße
Berni
Antworten Top
#12
Hallöchen,

1. Wenn der Kollege die Datei mit deaktivierten Makros öffnet, bearbeitet und speichert, hast Du 100% (Miss)Erfolg :22:
2. Das Speichern kann man, sofern Makros aktiviert sind, ganz einfach verhindern:

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#13
Code:
Sub Makro5()
'
' Makro5 Makro
'

'
    Dim Pfad As String, Dateiname As String

Dateiname = ActiveWorkbook.Range("G6")."-QS_geprueft"                                    'Blattname und Zelle anpassen

Pfad = Application.GetSaveAsFilename(InitialFileName:=Dateiname, _
                                        FileFilter:="PDF-Datei (*.pdf),*.pdf")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        Pfad, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=True
   
End Sub

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True

End Sub


Bei der Zeile mit Dateiname haut der mir nen Fehler rein und es geht nicht weiter...ich möchte die aktuelle Mappenname als Name + den Zusatz aus Zelle G6 und einen eigenen Text eben
Antworten Top
#14
Hallöchen,

Dateiname = ActiveWorkbook.Range("G6")."-QS_geprueft"                                    'Blattname und Zelle anpassen

-->

Dateiname = ActiveWorkbook.Range("G6") & ".-QS_geprueft"                                    'Blattname und Zelle anpassen

bzw

Dateiname = ActiveWorkbook.Range("G6").Value & ".-QS_geprueft"                                    'Blattname und Zelle anpassen
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#15
Oh mann, egal welche Variante, ab der Zeile Dateiname haut markiert er die Zeile Gelb und es geht nicht weiter.

Der Code ist ansonsten unverändert
Antworten Top
#16
Auch Hallo,

da fehlt ja auch noch das Worksheet zwischendrin

Code:
Dateiname = ActiveWorkbook.Worksheets("Tabellenblattname").Range("G6") & ".-QS_geprueft"

Tabellenblattname auf den tatsächlichen abändern!
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#17
Ohje, aber ich wollte doch, dass der Name automatisch ermittelt wird, da der Mappenname sich ändert, je nach Produkt *wegduck*

Oder ich lasse den Mappenname raus und nur was in der Zelle steht+ Text.

Der Code wie oben funktioniert. allerdings ist der Dateiname jetzt "Falsch", wenn ich den Speicherort auswählen will, ist der Name leer
Antworten Top
#18
Hallo,

und wenn Du noch ein Value anhängst?

Code:
Dateiname = ActiveWorkbook.Worksheets("Tabellenblattname").Range("G6").Value & ".-QS_geprueft"
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#19
Hallöchen,

einfach
Dateiname = Range("G6").Value & ".-QS_geprueft"

oder wenn der Mappenname dazu soll
Dateiname = ActiveWorkbook.Name & ".-QS_geprueft"

oder wenn beides dazu soll
Dateiname = ActiveWorkbook.Name & Range("G6").Value & ".-QS_geprueft"
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#20
Okay, ja hat endlich geklappt. Keine Ahnung was das Problem war *wegduck*

Letzte Sache, dann bin ich komplett zufrieden:

mit meinem Code speichere ich die Excel File ja als pdf. ich kann dann wie gewünscht den Speicherort eingeben. ABER 
Warum speichert er die Datei als Fehler.pdf Datei, wenn ich da auf ABBRECHEN drücke?

Was muss ich machen, dass er nicht speichert und die Datei nicht schließt, eben ABBRICHT?

Drücke ich vorher in meiner Msgbox auf Nein, dann bricht er ja auch wie gewünscht ab. Es geht nur noch um den Schritt, wenn er drauf und dran ist zu speichern, dass ich da machen kann was ich will, er speichert trotzdem.

Code:
Sub PDF_erstellen()

Dim Eingabewert As Byte

Eingabewert = MsgBox("Wurde das Teil vollständig gegprüft? /" & vbNewLine & "Has the part been completely checked?", vbQuestion + vbYesNo, "Prüfung beenden? / End Checking?")

If Eingabewert = vbYes Then

MsgBox "PDF wird erstellt, Eingaben werden unwiderruflich gelöscht! /" & vbNewLine & "PDF will be created and any inputs will be deleted!"

'
' PDF erstellen und Tabelle schließen - Makro
'

'
    Dim Pfad As String, Dateiname As String

Dateiname = Range("G6") & ".-QS_geprueft" & ".pdf"

Pfad = Application.GetSaveAsFilename(InitialFileName:=Dateiname, _
                                        FileFilter:="PDF-Datei (*.pdf),*.pdf")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        Pfad, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=True
       
ThisWorkbook.Close SaveChanges:=False

ElseIf Eingabewert = vbNo Then

MsgBox "Kein PDF erstellt. /" & vbNewLine & "No PDF created."

End If
   
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Cancel = True

End Sub
Antworten Top


Gehe zu:


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