今日はApplicationプロパティ・エラー処理・ForEach文・ブックやシートの挿入や削除などを勉強した。
ForEach文は結構使ってたから分かるけど、Applicationプロパティとかエラー処理はあんまり使ってなかったから調べながらじゃないと分からない。
やっぱり色々なパターンでVBAを書いた方が覚えそうだ。
あるサイトで、
-------------------------------------------------------------------
他のブックが開かれている場合は、自身のブックを閉じ、
他のブックが開かれていない場合は、Excelを終了する場合。
-------------------------------------------------------------------
この様な問題文で簡単な問題と解答が掲載されていた。
解答は以下。
Sub 保存して終了()
If Workbooks.Count > 1 Then
ThisWorkbook.Close SaveChanges:=True
Else
ThisWorkbook.Save
Application.Quit
End If
End Sub
自分ではほぼ書けたけど、1部だけ間違えた。
ThisWorkbookではなくActiveWorkbookと書いてしまった。
解答を見て自身のブック=ThisWorkbookかと納得した。
ActiveWorkbookだったらアクティブなブックかと。
今日思ったのが(以前にも思ったかも)、日本語ってVBAにするのが難しいなと感じた。
VBAを書き慣れてる人だったら自身のブックがThisWorkbookっていうのもすぐ分かるんだろうな。
あんまり書き慣れてない人にとっては、日本語をVBAに治す作業が中々難しいものだ。
慣れか反復練習か、とにかく書き続けてスキルを上げていきたいと思う。