VBA(ログ出力プロシージャ)

 


-- 1. 開発タブの挿入でボタンを作成
ActiveXコントロールのものを使用する

-- 2. デザインモードONで作成したボタンをダブルクリックするとエディタが開くので下記コードを記載。デザインモードOFFで実行

 

Dim LogNum As Long


Private Sub CommandButton1_Click()

'画面を更新しない
Application.ScreenUpdating = False
'確認メッセージを表示しない
Application.DisplayAlerts = False

LogNum = 0

'ログ出力先クリア
Range("A1:A20").Clear


Dim i As Long
Dim RtnCode As Long

For i = 1 To 20
  RtnCode = Int((100 * Rnd) + 1)
  Debug.Print (RtnCode)
  
  If RtnCode > 90 Then
    writelog RtnCode, "ERROR"
    GoTo errorend
  Else
    writelog RtnCode, "OK"
  End If
Next i


errorend:

'確認メッセージを表示する
Application.DisplayAlerts = True
'画面を更新する
Application.ScreenUpdating = True


End Sub


Private Sub writelog(RtnCode As Long, RtnMsg As String)
  LogNum = LogNum + 1
  Worksheets("Sheet1").Range("A" & LogNum) = RtnMsg & "_" & RtnCode
  If RtnMsg = "ERROR" Then
    Worksheets("Sheet1").Range("A" & LogNum).Font.Color = RGB(255, 0, 0)
  End If
 
End Sub