Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ursprüngliche Datei aktivieren

Ursprüngliche Datei aktivieren
24.03.2015 07:22:06
Doliwa
Ich mache meine ersten Gehversuche in VBA und stoße schon wieder einmal an meine Grenzen, da ich im Netz keine Lösung finde.
Die Funktion, ein Sheet in eine PDF zu verwandeln funktioniert. Wenn ich nun aber dieses Sheet kopiere und in einer anderen Datei "Formularrechnung" speichere, dann funktioniert der Email-Versand nicht mehr. Soweit ich es verstanden habe, ist meine Ursprüngliche Datei nicht mehr aktiv und das Programm möchte mit der neuen Datei weiter verfahren.
Nun meine Fragen:
1) Wie setze ich das Programm wieder auf die ursprüngliche Datei?
2) Wie schließe ich die neue Tabelle - es reicht auch, wenn sie nur erstellt wird
3) Wie kann ich die neue Datei von xlsx in xlsm umwandeln?
Sheets("Rechnung1").Select
Range("D10").Select
If ActiveCell.Offset(0, 0) = "" Then
Exit Sub
Else
Sheets("Rechnung1").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.SaveAs ("E:\DATEN\....Rechnungen\" & "Formularrechnung2015-" & Worksheets("Rechnung1").Range("D22") & ".xlsx")
Jetzt müßte die Datei geschlossen werden und als xlsm umbenannt. Direkt als xlsm erstellen ging leider nicht.
End If
Hier müßte mein ursprüngliche Datei angwählt werden
Sheets("Rechnung1").Select
Range("D10").Select
If ActiveCell.Offset(0, 0) = "" Then
Exit Sub
Else
If vntFile False Then
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=vntFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
Set Mail_Object = CreateObject("Outlook.Application")
With Mail_Object.CreateItem(o)
.Subject = "Bestätigung Ihrer Bestellung und " & Worksheets("Rechnung1").Range("D22")
.To = Sheets("Berechnung").Range("H23")
.Body = Sheets("Rechnung1").Range("A33") & Chr(13) & Chr(13) & "wir bedanken uns für Ihr entgegen gebrachtes Vertrauen und bestätigen mit beiliegender Rechnung Ihre Beauftragung." & Chr(13) & Chr(13) & "Für weitere Fragen stehen wir Ihnen gerne zur Verfügung."
.Attachments.Add ThisWorkbook.Path & "\" & "Rechnung" & Sheets("Berechnung").Range("M4") & ".pdf" '
'.Send
.Display
End With
End If

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ursprüngliche Datei aktivieren
24.03.2015 08:44:41
Nepumuk
Hallo,
gewöhne dir erst mal die Selectiererei ab, das ist schon die halbe Miete.
Public Sub Test()
    If Not IsEmpty(Worksheets("Rechnung1").Range("D10").Value) Then
        Worksheets("Rechnung1").Copy
        With ActiveWorkbook
            With Worksheets("Rechnung").UsedRange
                .Copy
                .PasteSpecial Paste:=xlPasteValues
            End With
            Call .SaveAs(Filename:="E:\DATEN\....Rechnungen\" & "Formularrechnung2015-" & _
                .Worksheets("Rechnung1").Range("D22").Text & ".xlsm", _
                FileFormat:=xlOpenXMLWorkbookMacroEnabled)
            Call .Close(SaveChanges:=False)
        End With
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Ursprüngliche Datei aktivieren
24.03.2015 09:05:20
Doliwa
Danke, hat super geklappt! Und Deine Programmierung ist wirklich viel eleganter - das erkenne sogar ich als mind. 90%VBA-Unwissender. Werde mir daher Deinen Ratschlag "Select" zu umgehen merken und nach Möglichkeit berücksichtigen. Nochmals vielen, vielen Dank, denn ich habe gut 6 Std. an diesem Problem verbracht...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige