ExcelVBA①(バックアップを作る)
ExcelVBAを始める前に注意を1つ。「VBAで実行したことを元に戻せるかどうか?」です。WordやExcelには画面上部に「元に戻す」ボタンがあって戻せますが、VBAで実行したものについては、このボタンがグレーアウトしていて使えません。どうやら戻せないようです。(以下参照)
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1256843822?__ysp=RXhjZWwgVkJBIOaIu%2BOBmQ%3D%3D
となると、こまめにバックアップを取る必要があるということになります。ということで例えば以下。昨日紹介したサイトの「VBEからマクロ作成を始める」まで進んだら、以下をペーストします。そして画面上部の「▷」をクリックすると、そのファイルのある場所と同じところに、ファイル名の後に本日の日付(年月日時秒)の数字を追加したファイルがバックアップされます。なお、ExcelVBAを使うには、拡張子が通常の[xlsx」ではなく、「xlsm」である必要があります。なので、バックアップするファイルの拡張子も「xlsm」にしてあります。
Sub Backupファイルを作る()
Dim name As String, path As String
name = Left(ActiveWorkbook.name, Len(ActiveWorkbook.name) - 5)
path = ActiveWorkbook.path
ActiveWorkbook.SaveCopyAs _
Filename:=path & "\" & name & Format(Now, "yyyymmddhhMM") & ".xlsm"
End Sub
いかがでしょうか? 私が勝手に、仕事につかえる「かもしれない」と思ったものなので、完全に、自分の忘備録的内容になっておりますが、「なるほど、ExcelVBAって、こういうことができるんだ」と興味を持っていただけたら幸いです。