【超便利】コピペで使えるVBAのお決まりコード

【超便利】コピペで使えるVBAのお決まりコード VBA
【超便利】コピペで使えるVBAのお決まりコード

VBAを利用する場合、開発の効率化やプログラムの高速化を図るため、必ずお決まりのコードを書きます。必ず書くにも関わらず忘れがちなものを本記事にまとめました。

イミディエイトウインドウに表示する関数

Sub log(txt)
   Debug.Print (txt)
End Sub

時間計測と高速化の開始・終了

'開始
Sub StartTool()
   starttime = Timer()
   Application.DisplayAlerts = False
   Application.Calculation = xlCalculationManual '自動再計算OFF
   Application.ScreenUpdating = False '画面描画OFF
End Sub

'終了
Sub EndTool()
   Application.ScreenUpdating = True '画面描画再開
   Application.Calculation = xlCalculationAutomatic '自動再計算再開
   Application.DisplayAlerts = True
   endtime = Timer()
   log (endtime - starttime)
End Sub

4月始まりの年度の取得

Function Nendo(d)
   If IsDate(d) Then
      If Month(d) <= 3 Then
         Nendo = Year(d) - 1 '昨年
      Else
         Nendo = Year(d) '今年
      End If
   Else
      MsgBox ("nendo関数の引数はDate型にして下さい。")
   End If
End Function

ブックの新規作成

Sub CBook(bkname, Optional bkpath = 1)
   Dim Book As Workbook
   If bkpath = 1 Then
      bkpath = ThisWorkbook.Path & "\" & bkname & ".xlsx"
   End If

   If Dir(bkpath) = "" Then
      Set Book = Workbooks.Add
      Book.SaveAs bkpath
   Else
      MsgBox "既に" & bkname & "というファイルは存在します。"
   End If
End Sub

コメント

タイトルとURLをコピーしました
//コードのコピーボタン //参考URL:https://lovagelab.com/posts/3406/