Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1400to1404
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

Code läuft unter F8 aber nicht bei F5

Code läuft unter F8 aber nicht bei F5
12.01.2015 09:54:21
Johannes
Hallo Zusammen,
bei den folgenden Code habe ich das Problem, dass er im Einzelschrittmodus mit [F8] einwandfrei durchläuft, aber mit [F5] immer bei ActiveWorkbook.SaveAs Filename:= ... hängenbleibt, oder ohne im günstigen Falle nur als "Bestellung.xls" gespeichert wird.
Hat jemand eine Idee was ich besser machen kann?
Für Eure Hilfe schon jetzt vielen Dank.
Viele Grüße
Johannes
Hinweis: name@domain.de wurde hier nur "Platzhalter" verwendet ;-)
Code:

Sub mailen1()
Dim Dat As Variant
Dat = Date
Dim PNr As Variant
PNr = Range("M3").Value2
Dim BNr As Variant
BNr = Range("K3").Value2
'Kopie speichern unter Name & Datum
Sheets("mail").Select
Sheets("mail").Copy
ChDir "C:\Daten\Bestellungen"
ActiveWorkbook.SaveAs Filename:="C:\Daten\Bestellungen\Bestellung " & PNr & BNr & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
'Formel in Werte wandeln
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B2").Select
Application.CutCopyMode = False
'Blattname ändern
Sheets("mail").Select
Sheets("mail").Name = Dat
Range("B25").Select
'PNr Eintrag entfernen
Range("M3").Select
Selection.ClearContents
'startet outlook
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
AWS = "C:\Daten Müller\Bestellungen\Bestellung " & PNr & BNr & ".xls"
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "name@domain.de"
.To = "name@domain.de"
.CC = "name@domain.de"
.BCC = "name@domain.de"
.Subject = "Bestellung " & Date & " " & Time
.attachments.Add AWS
.Body = "Guten Tag," & vbCrLf & _
" " & vbCrLf & _
"in der Anlage erhalten Sie die Datei mit " & vbCrLf & _
"unserer Bestellung von heute,  " & Dat & " ." & vbCrLf & _
" " & vbCrLf & _
"Mit freundlichen Grüßen" & vbCrLf & _
" " & vbCrLf & _
"Vorname Name"
'Hier wird die Mail gleich in den Postausgang gelegt
'.Send
'oder erst ansehen
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Windows("Bestell-Liste Ersatzteile-Material.xls").Activate
Sheets("Bestellung").Select
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code läuft unter F8 aber nicht bei F5
12.01.2015 10:16:03
Luschi
Hallo Johannes,
Du mußt natürlich dem Betriebssystem auch die Chance geben den Speichern-Befehl auch komplett ausführen zu lassen. In der Windows-Hierarchie hat dieser Task-Befehl ein sehr niedrigen Level. Deshalb mach es so:
'Speicher-Befehl
ActiveWorkbook.SaveAs ...
'Erklärung siehe Vba-Hilfe
DoEvents
'Prüfen, ob Datei bereits vorhanden ist, nur dann gehts weiter
Do While Dir("C:\Eigene Dateien\Excel\abc.xls", vbNormal) = ""
'warten...
Loop
'Jetzt kann es weitergehen
Gruß von Luschi
aus klein-Paris

AW: Code läuft unter F8 aber nicht bei F5
12.01.2015 11:06:43
Johannes
Hallo Luschi,
meintest Du so:
'Kopie speichern unter Name & Datum
Sheets("mail").Select
Sheets("mail").Copy
ChDir "C:\Daten\Bestellungen"
'X-X-X-X-X-X-X-X-X-X Workaround
ActiveWorkbook.SaveAs Filename:="C:\Daten\Bestellungen\Bestellung " & PNr & BNr & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
DoEvents
'Prüfen, ob Datei bereits vorhanden ist, nur dann gehts weiter
Do While Dir("C:\Daten\Bestellungen\Bestellung " & PNr & BNr & ".xls", vbNormal) = ""
'warten...
Loop
'X-X-X-X-X-X-X-X-X-x
'Formel in Werte wandeln
dann klappt es aber leider nicht zuverlässig
Gruß
Johannes

Anzeige
AW: Code läuft unter F8 aber nicht bei F5
12.01.2015 12:33:19
Luschi
Hallo Johannes,
unter Excel 2003 gibt es den Parameter
FileFormat:=xlNormal NICHT sondern
FileFormat:=xlWorkbookNormal
Solltest Du aber mit Excel ab Version 2007 die .xls-Datei mit Vba öffnen, dann so:
FileFormat:=xlExcel8 'oder
FileFormat:=56
Gruß von Luschi
aus klein-Paris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige