エクセルVBAで指定範囲内のセルの値「0」を全て空欄に置き換える方法

エクセル検索
HOMEUserForm印刷画面ファイル図形
日付・時刻データセル関数VBA関数

エクセルで表を扱う時に数式エラーを防ぐ為に、空欄の代わりにIFERROR関数などで数字の「0」で代用していることありませんか?

この代用している値を一瞬で空欄にできる技があるのでご紹介します。

Replaceメソッドで置き換え

Replaceメソッドを使うと、指定したセル範囲内の中から条件に当てはまるセルの文字列を置き換えることができます。

VBAを使って文字や数字を置き換えるReplaceの基本的な使い方を表にしてみました。

引数内容
What検索する文字
Replacement置換する文字
LookAt完全一致【xlWhole】・部分一致【xlPart】

ここではユーザーフォームに配置したコマンドボタンに、セルA1~B10の範囲内で指定して、完全一致する半角整数字の「0」を探して見つけたら「空欄」に置き換えるコードをご紹介します。

VBAコード

Private Sub CommandButton1_Click()
With Range(“A1:B10”)
.Replace What:=”0″, Replacement:=””, LookAt:=xlWhole
End With
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. セルA1~B10の範囲内を指定する
  3. 探す文字は「0」、置き換えは「空欄」、完全一致での検索
  4. Withステートメント終了
  5. マクロ記録終了
波乗りアヒル

ちなみにWithステートメントを使用しているので、2つ目の検索をするならば、End Withの上に記載すれば、複数置き換えも可能になりますよ。

関連記事

どこかにビューーン
ちょっとの工夫で往復無料の時代が来た!!

新着ページ

よく見られているページ

大容量無料ファイル転送サービス【ACデータ】 無料イラスト【イラストAC】

紅葉スポット

2024年5月11日からマイルと楽天ポイントとの相互交換提携開始!

交換レート0.5:1なので半分になってしまいますが、使い方次第で実質3倍の価値まで引き上げられる方法です。