【Excel VBA】計算結果が0の場合、空白を返すユーザー定義関数

Excel VBA講座 開講中!

Excel VBAではオリジナルの関数である、ユーザー定義関数を作成する事ができます。

通常Excelに用意されている関数では実現できないような処理を実行したり、非常に長い関数になってしまうところを簡潔にまとめたりなど、アイディアによって様々な関数を作りだす事ができます。

今回は、計算結果が0の場合、空白を返すという、ユーザー定義関数をご紹介します。

※本ページはプロモーションが含まれています

スポンサーリンク
スポンサーリンク

計算結果が0の場合、空白を返すユーザー定義関数

下記のサンプル1はFunctionプロシージャを使って作成しており、関数名は「ZEROSPACE」としています。

(SubプロシージャとFunctionプロシージャについてはまた別の機会に詳しくご紹介しますが、プログラムがSub~()で始まるのがSubプロシージャ、Function~()で始まるのがFunctionプロシージャです)

これは通常の関数のように、シート上で「=ZEROSPACE(1-1)」のような形で使用する事ができます。

ZEROSPACE計算結果(空欄が返る場合)

ZEROSPACE計算結果(空欄が返る場合)

ZEROSPACE計算結果(空欄以外が返る場合)

ZEROSPACE計算結果(空欄以外が返る場合)

プログラムの内容としましては、

If range = 0 Then

ZEROSPACE = “”

で、セルの値が0の場合は空白となり、

Else

ZEROSPACE = range

で、セルの値が0以外の場合はセルの値をそのまま残す、というようにしています。

シートの中で0を表示させたくない時に、長ったらしい関数を使うのが嫌な場合など、意外と使い道はあるかもしれません!

サンプル1

Function ZEROSPACE(range)

If range = 0 Then

ZEROSPACE = “”

Else

ZEROSPACE = range

End If
End Function

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