スポンサーリンク

範囲内のセルの値0を全て空欄に置き換える方法

指定した範囲のセルの値が0を全て空欄にする方法Excel-VBA

ユーザーフォームを使ってデータ入力をする時に、入力済み最終行に自動的にデータを追記しますが、他の表からデータを取り込んでから追記する時に、必ずしも行が一致していないことがあります。

ボウリングのリーグ戦での成績表をエクセルで管理していると、リーグ戦が終了して次回新しくスタートする時に今までは、リーグ原紙のエクセルファイルを使って参加選手などを1から入力していましたが、基本的に前回の参加者と同じ場合がほとんどなので、データを引き継げないかと考えていました。

それがやっとできるようになったのですが、自動的に前回データを取り込んだところ、未登録選手のデータまで引き継ぐので、セルの値が「0」になってしまいました。

これをいっぺんに空欄にできれば、追加参加者をいつものユーザーフォームの新規登録フォームが活用できるようになりました。

ちょっと前置きが長くなりましたが、たった1行追加するだけで解決しますのでご紹介いたします。

スポンサーリンク

VBAで置き換えを行うReplace

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

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

実際に範囲のセルの値が0の時空欄に置きかえるコードはこのように書いていますが、抜粋していますので、subは省略します。

With Range(“D103:D142″)
.Replace What:=”0″, Replacement:=””, LookAt:=xlWhole
  1. セルの範囲(D103:D142)を指定
  2. 0を探して空欄にする(検索する値は完全一致)

Excel-VBAもくじへ

コメント