Excelのワークシート関数を使う


Excelのワークシート関数というのは、セルの中の数式で使用する関数のことです。
SUMとかSUBTOTALとかVLOOKUPとか…非常に有用な関数が揃っています。
ワークシート関数と同じ処理をVBAで書いても、圧倒的にスピードで劣る結果になりますので、ワークシート関数が使える場面ではワークシート関数を使うことをお勧めします。

とはいえ、VBAでそのまま書いても認識してくれません。
例えばVLOOKUPを使うのでしたら、以下のようにしましょう。

   Dim strTMP As String
   
   On Error Resume Next
  
   strTMP = Application.WorksheetFunction.VLookup(strDATA, _
                                        Worksheets("Sheet2").Range("A:B"), 2, False)
   
   If Err <> 0 Then
       strTMP = ""
   End If


ワークシート関数の頭に、「Application.WorksheetFunction?.」をつけてやるだけです。
上記の例では、関数がエラーを返した場合にエラーとせずに、取得した値を空文字列に設定しています。そのあたりはお好みでご自由に…

Shue

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-03-10 (日) 22:30:38 (2913d)