エクセルの関数を自分で作成する方法を説明します
エクセル VBA ユーザー関数 入門
ここでは、セルの [塗り潰しの色] を返すユーザー関数などを作ります
エクセルは標準のままでは VBA 開発に必要な [開発] タブが表示されません、まずリボンに [開発] タブを表示させる方法を説明します
Excel2007の場合:
Function cc(adr)
cc = adr.Interior.ColorIndex
End Function
作った関数を呼び出すワークシート側を準備します
=cc(A1)
と入力しますこの例では、ユーザー関数 fc に引数を1つ渡しています、ユーザー関数に 複数セル範囲(adrs) を渡してその範囲の文字の色が赤いもののを合計を求めます
Function fc(adrs)
sm = 0
For Each ad In adrs
If ad.Font.ColorIndex = 3 Then
sm = sm + ad.Value
End If
Next
fc = sm
End Function
=fc(A1:A3)
と入力します
この例では、ユーザー関数 zaikomi に引数を2つ渡しています、ユーザー関数に 金額(king)と 税率(ritu) の2つを渡して税込の計算を行います
Function zeikomi(king , ritu)
zeikomi = king * (1 + ritu)
End Function
=zeikomi(A1,A2)
と入力します
Function fzc(king,ritu) fzc = king * (1 + ritu) End Function
Function fzc(king) | If king >10000 Then | | fzc = king * 1.05 | Else | | fzc = king * 1.03 | End If End Function
Sub test0629() kin = 11000 If fzc(kin) > 11540 Then ... End If End Sub