• 締切済み

★エクセル VBA 指定された範囲の空白セルに0(ゼロ)を代入したい。

★エクセル VBA 指定された範囲の空白セルに0(ゼロ)を代入したい。 範囲は ”セル範囲”という名前で取得しましたが、その中にデータの入っていない 空白のセルに0を代入したいのです。 xlCellTypeBlanksを使うといいのでしょうか? 会社でのデータ処理で必要なので困っています。 初心者なのでよろしくお願いいたします。

みんなの回答

  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

>範囲は ”セル範囲”という名前で取得しましたが この●"セル範囲"という名前で取得●という文言は2つの意味に取れます。 '---------------------------------------- ■"セル範囲"がオブジェクト変数名の場合  (Dim セル範囲 As Rangeなどとしている場合)  On Error Resume Next  セル範囲.SpecialCells(xlCellTypeBlanks).Value = 0  On Error GoTo 0 '---------------------------------------- ■範囲に"セル範囲"という名前を付けている場合  On Error Resume Next  Range("セル範囲").SpecialCells(xlCellTypeBlanks).Value = 0  On Error GoTo 0 '---------------------------------------- ●ただこの処理はVBAでなくても以下のようにすればできますが。。 1)範囲を選択する 2)メニューの編集 > ジャンプ と進み 3)表示されるダイアログで、何もしないで「セル選択」ボタン 4)表示される選択ダイアログで、「空白セル」にチェックを入れ、OKボタン これで範囲内の空白セルが選択された状態になるので そのまま、0 を入力した後、Enterではなくて、 Ctrlキーを押しながらEnterキーを押すと全てに0が入る 以上です。

pochiman
質問者

お礼

早速のご回答ありがとうございました。 返答が遅くなり申し訳ありません。 セル範囲の意味があいまいでした。 今回の場合はオブジェクト変数の場合でした。 式を組み込んで実行したところ、目的の結果が得られました。 時間が無かったので助かりました。 印刷範囲を取得する際に、空白セルがあるとうまくいかなかったので、 0を代入して埋めたいというのが今回の目的でした。

関連するQ&A