MENU

ブックを閉じる

ノーコードで、こんなことできます

・開いているブックを閉じる/他のブックを閉じる

・現在のブック名のまま閉じる/シート名で閉じる/セルの値で閉じる

・変更を保存して閉じる/変更を保存しないで閉じる

・拡張子を変える(xlsx、xlsm、xls、csv、text)

・ブック名の末尾に日時を付ける

アプリのコード作成画面

アプリのコード作成画面で内容を設定すると、その下の「コードの説明」のVBAコードが作成されます。

f:id:The-Alchemist:20220112160137p:plain



コードの解説

上のアプリのコード作成画面で設定したVBAコードです。

ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "売上実績_" & Format(Now, "yyyymmddhhmmssms"), FileFormat:=xlWorkbookDefault

ActiveWorkbookは、現在アクティブなブックです。

ThisWorkbook.Pathは、マクロが書かれているブックのパスです。

Format(Now, "yyyymmddhhmmssms")は、現在の日時を取得する関数です。

xlWorkbookDefaultは、拡張子を.xlsxにします。

なお、拡張子.xlsmは、xlOpenXMLWorkbookMacroEnabled

拡張子.xlsは、xlWorkbookNormal

拡張子.csvは、xlCSVです。

 

アプリで作成できるコード一覧

現在のブック名のまま閉じる(変更を更新する)

ActiveWorkbook.Close SaveChanges:=True

現在のブック名のまま閉じる(変更を更新しない)

ActiveWorkbook.Close SaveChanges:=False

指定したブック名を付けて保存

ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "売上実績", FileFormat:=xlWorkbookDefault
ActiveWorkbook.Close

シート名をブック名として、保存

Dim シート名 As String
シート名 = Worksheets(1).Name
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & シート名, FileFormat:=xlWorkbookDefault
ActiveWorkbook.Close

シート名 =Worksheets(1).Nameで、一番目のシートの名前を取得します。

セルの値をブック名として、保存

Dim セル値 As StringSav
セル値 = Worksheets("sheet1").Range("A1").Value
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & セル値, FileFormat:=xlWorkbookDefault
ActiveWorkbook.Close

セル値 = Worksheets("sheet1").Range("A1").Valueで、A1セルの値を取得します。

アプリはこちらから↓↓↓↓