2016-10-04 15 views
0

Now()関数を使用して特定のファイル名とそれに続くyesterdays日付のドキュメントを自動保存しようとしています。SaveAs VBA Excel

コードを実行するたびに、「コンパイルエラー:予想される:リスト区切りまたは」と表示され、問題が並べ替えられないようです。

'Saves file as an xlsx in directory 
ActiveWorkbook.SaveAs Filename:= _ 
"P:\Desktop\Prior Day Journals\Tueday - Friday\Prior Day Journal" _ 
& Format(Now() –1,“DD-MMM-YYYY”)“.xlsx” _ 
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 

問題は、常にファイル名の1日前に戻ってくるはずのコード内で-1を囲んでいるようです。実際には、事前

+0

はFYIあなたのコードでの引用符の2種類があります( '" 'と' 『'/'』 ')。それがコードで実際に問題がここにコピー/貼り付けていた場合、またはわからない。 – BruceWayne

+1

@BruceWayne公平では、前回のコードの場所とは2つの異なるタイプだと思うので、コピー&ペーストの問題がここに来る前に! –

答えて

4

おかげで、エラーは、使用はマイナス記号-が、UNICODE文字EN DASHではないということです。


もう1つの方法は、DateAdd関数を使用することです。

また、連結文字列には&がありません。パラメータを区切るには,がありません。

'Saves file as an xlsx in directory 
ActiveWorkbook.SaveAs Filename:= "P:\Desktop\Prior Day Journals\Tueday - Friday\Prior Day Journal" _ 
& Format(DateAdd("d", -1, Now()),"DD-MMM-YYYY") & ".xlsx" _ 
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
+1

彼の日付は以前のように問題はありませんでした。あなたのイミディエイトウィンドウでそれを試してみてください。あなたは昨日適切なフォーマットになっています。問題はちょうど(DD-MMM-YYYY)文字列とカンマがありません – Tyeler

+0

はいあなたは正しいです –

+0

どちらも絶対にうまくいっていましたが、最初にあなたのものを試しました@VincentGと感謝しました! –

関連する問題