PR
スポンサーリンク

【Excel】VBAでワークシート関数を自作する

プログラミング
スポンサーリンク

エクセルって便利ですよね。まとめて処理できるマクロも便利ですが、ワークシート関数はリアルタイムで結果が見える便利さがあります。
今回は「3の倍数と3が含まれる数字を見つける」というロジックを、VBAでオリジナル関数化する方法を紹介します。

自作関数の仕様

3と3の倍数、ということで某芸人さんにちなんでaho関数としました

  • 与えられた数値が3で割り切れる、または3を含む場合に「!」と表示する
  • 3で割り切れ、かつ3を含む場合は「!!」と表示する

VBAで関数を自作

エクセルでALT + F11でVBAエディタを開き、挿入 – 標準モジュール を挿入します。

Option Explicit

Private Function aho(prm As Long) As Variant
    Dim flg As Long
    
    If prm Mod 3 = 0 Then flg = 1
    If InStr(Str(prm), 3) > 0 Then flg = flg + 1

    Select Case flg
        Case 0
            aho = prm
        
        Case 1
            aho = "!"
        
        Case 2
            aho = "!!"
        
        Case Else
            aho = "Error"
    End Select

End Function

自作関数の実行

A列に数字を並べておき、B列のaho関数でA列を参照させます。

3を含む数値と3の倍数で「!」になり、両方を満たす場合は「!!」になります。

まとめ

  • エクセルVBAを使ってオリジナルの関数を作成できる
  • その関数はワークシート関数として使うことができる
  • ワークシート関数はリアルタイムで変化してくれるのでマクロ実行とは違った便利さがある

最後まで読んでいただきありがとうございます。

コメント

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