Accessむかむか ホーム >> TIPS一覧 >> TIPS

項目

 $が付いている関数

概要

 VBAの関数には、Mid$、Left$、Right$、Trim$・・・など$が付いている関数があります。
 $なしの関数と何が違うかというと、$が付いている関数は戻り値String
 $なしの関数はバリアントを返します。
 $付いている関数の方が処理速度が高速に動作します。
 しかし、例のように$付き関数の方が高速に動作しますが、その差はよほどの重い処理でない限り
 効果はないかと。
 ※$付いている関数には引数にNull値を渡すことはできません。渡すと実行時エラーで落ちます。

Option Compare Database
Option Explicit

Private Sub コマンド0_Click()
    
    Dim sng開始時間 As Single
    Dim sng終了時間 As Single
    Dim i           As Long
    Dim wk
    
    '【$無】10万回実行
    sng開始時間 = Timer
    
    For i = 1 To 100000
    
        wk = Trim(" Accessむかむか ")
        
    Next i
    
    sng終了時間 = Timer
    
    Debug.Print "【$無処理時間】:" & (sng終了時間 - sng開始時間) & "秒"
    
    
    '【$付】10万回実行
    sng開始時間 = Timer
    
    For i = 1 To 100000
    
        wk = Trim$(" Accessむかむか ")
        
    Next i
    
    sng終了時間 = Timer
    
    Debug.Print "【$付処理時間】:" & (sng終了時間 - sng開始時間) & "秒"
    
    '■結果■
    '【$無処理時間】:0.03125秒
    '【$付処理時間】:0.015625秒
    
End Sub
Copyright (C) Accessむかむか