エクセルって便利ですよね。まとめて処理できるマクロも便利ですが、ワークシート関数はリアルタイムで結果が見える便利さがあります。
今回は「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を使ってオリジナルの関数を作成できる
- その関数はワークシート関数として使うことができる
- ワークシート関数はリアルタイムで変化してくれるのでマクロ実行とは違った便利さがある
最後まで読んでいただきありがとうございます。
コメント