ExcelVBAエキスパート試験~1週間受験勉強記(4日目)エラー対策・デバッグ

VBAエキスパート試験

前日までの復習

  • Findのメソッド9個
  • Sort.SortField.Add2の9個
  • Sortの11個
  • テーブルの指定4個
  • テーブル部位5個
  • 構造化参照4個

よし、ここまで大丈夫です。

9章 エラー対策

エラーの種類

問題としては出しにくいような気がしますが、テキストにあったので一応まとめます。

  • 文法エラー:カッコの入れ忘れなど、形式的な構文エラー
  • 論理エラー①コンパイルエラー:変数宣言強制したのに宣言しないなど
  • 論理エラー②実行時エラー:シートが1枚しかないのに、2枚目を選択など

エラー対応

Sub sample()
 On Error GoTo Error1
 Sheets("Sheet1").Name = Range("A1")
 Exit Sub
Error1:
 Select Case Err.Number
 Case 9
  MsgBox "Sheet1が存在しません"
 Case 1004
  MsgBox "同名のシートが存在しています"
 Case Else
  MsgBox "想定されないエラーです"
 End Select
End Sub
On Error Resume Next
  • ProtectStructure :ブックが保護されているとtrue

データのクレンジング(5個)

  • StrConv(Cells(i , 1) , vbWide) ※vbWide/vbNarrow
  • Replace(Cells(i , 1) , “-” , “”) ※”-“を除去
  • Split(Cells(i , 1) , “-“)
  • DateSerial(年,月,日)
  • Cells(i , 1).NumberFormat = “yyyy/mm/dd”
NumberFormatプロパティ(例)上記
Format関数(例)Format(Now,”yyyymmdd”)

10章 デバッグ(最後3個のみ暗記)

  • 暗黙の宣言:イミディエイトウィンドウでは、変数宣言強制下でも、宣言していない変数の利用可
  • イミディエイトウィンドウでは、変数宣言不可
  • Debug Print
  • Stop
  • F9:ブレークポイント
  • F8:ステップ実行
  • TypeName(Range(“A1”)) ※String/Integer/Double/Date
  • IsNumeric(Range(“A1”),Value)
  • IsDate

VBEの扱いは、実務に携わっていると嫌でもやっているので、暗記事項は少ないですね。本日も最後までお読み頂き、ありがとうございました。

コメント

タイトルとURLをコピーしました