NumberFormatLocalとNumberFormatの違いを解説します。
同じところ
両者とも「セルの表示形式」を設定するプロパティです。
構文も全く同じで、以下のコードはどちらもA列の表示形式を文字列にします。
Columns("A").NumberFormatLocal = "@" Columns("A").NumberFormat = "@"
違うところ
NumberFormatLocalプロパティの「Local」とは国と地域のことで、
Excelのインストール言語に合わせた仕様のことです。
よってインストールされているExcelごとに挙動が変わるのですが、
ここでは大多数がそうなっているであろう「日本」の設定の話をします。
地域を日本語に設定してインストールしたExcelにおいては、

このように日本語で表された表示形式を設定可能です。
特長を列挙すると、
- 「標準」設定の設定文字列名が「G/標準」
- \マークを通貨の単位として認識するため""が不要
- マイナスの値を赤色にする際の[赤]表記
あたりですね。
これがまさにNumberFormatLocalとNumberFormatの違いで、
NumberFormatLocalプロパティは上記の形式を指定可能です。
対してNumberFormatプロパティでは上記の設定は不可能で、替えて
- 「標準」の設定は「General」
- \を表示するには「"\"」
- 赤色の設定は[Red]
で設定を行う必要があります。
これがNumberFormatLocalとNumberFormatの違いです。
使い分け
常にNumberFormatLocalを使用しておけばOKです。
NumberFormatLocalに代入する値には、
セルの表示形式ウィンドウの値をコピペすることが可能です。
が、対してNumberFormatではコピペした文字列がそのまま使えないことがあります。
わざわざNumberFormatを使用する必要は特にありませんので、
表示形式の設定には常にNumberFormatLocalを使用してください。