• 締切済み

★エクセル 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

  • VBAで空白セルにのみ数値を代入する方法

    御伺いしたい事があります。 例えば セルA2に何も数値が書かれていない空白状態ならば、VBAでだした数値を代入して終了。 もし空白で無いのならば、セルをA2から1つ下のA3で空白かどうかの判定をする(空白のセルが来るまで続ける) といったように、積み上げ形式でどんどんセルを動きながら代入を行いたいのですが これを行うには、どういったVBAでの記述が必要なのでしょうか? よろしくお願いいたします。

  • 使用中のセル範囲に空白があるか取得するには?

    For Each r In ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks) ’空白セルに対して処理を行なう Next r このようなコードの場合、使用中のセル範囲に空白がないとエラーになるので、 ループに入る前に、空白セルがあるかを取得したいのですが、 どういう方法があるのでしょうか?

  • エクセルVBAで範囲指定の方法をおしえてください

    エクセルVBAで範囲指定の方法をおしえてください こんばんは。 以下のようにデータがあるとします。 222 111 333 555 888 999 454 665 222 111の文字列を含むセルから888の文字列を含むセルまでをVBAで範囲指定したいのですが 方法がわかりません。 エクセルに読み込むファイルによって目的の情報の位置が変わるため、文字列を基に範囲指定したいのです。 本当に困っていますよろしくお願いします。

  • Excel VBAで移動するセルを範囲指定したい

    VBA初心者です。よろしくお願いします。 外部データの取入れで取得したデータを必要なだけコピーして使いたいのですが、毎回データの量が増えてきます。増えても増えた分だけ増やしていける方法はありませんか? データの最後から100個分だけ範囲指定してコピーしたいのです。 それと外部データを取り込んだときにマクロを実行したいのですがよろしくお願いします。

  • VBAでのセル範囲指定について

    お世話になります。 私が分からないのは、VBAでのセル範囲指定なのですが、 例えば、シートにデータが有、そのデータの1行目は見出しなので 2行目からデータが入っているセルまでの範囲を指定、コピーして 隣のシートに貼付したいのですが、そのデータの入力される範囲が 毎回違います。「CurrentRegion.Select」としてしまうと、1行目 の見出しまでも範囲指定されてしますので、どうやったら良いのか どなたかお教え頂きたく宜しくお願い申し上げます。

  • Excel VBA セル値の配列代入について

    Excel VBAで、セルの値を配列に代入する処理を、よくやります。 arr=Range("$A1:$C1000").value とかですね。これに関して、オートフィルタで絞り込んだ結果の可視セルだけを、配列に代入するということは、やっぱり出来ないのでしょうか。

  • エクセル2010で、空白セルを左詰めしたい

    エクセル2010を使用しています。 VBAで以下の操作を実行したいと考えていますが、 初心者につき、ご教示いただけないでしょうか。 60万行くらいあるエクセルの表(CC列まで)で、 空白セルを左詰めしたいのですが 範囲指定(空白へのジャンプ)機能をするだけで固まってしまい 何度も操作が止まってしまい困っています。 VBAでスムーズに操作することができればと思うのですが・・・ よろしくお願いします!

  • VBAで空白セルの選択について

    条件以外と空白セルに色をつけないように指定したいのですが、 specialcells(???blank)で空白セルの選択ができますが、条件式での空白セルの指定方法について教えてください。あと16進数のデータが文字列で表されているのですが、マクロ内でビット取得し、計算処理をさせたいのですが、どう指定したらいいのですか。

  • EXCEL VBAでのセル高の範囲指定コピーについて

    いつも活用させて頂いております。 ExcelのVBAで、範囲指定したセルのコピーを行い、コピー先のセルに コピー元のセルの高さをコピーさせるロジックを組みました。 始めは、範囲指定してセル高もコピーしようとしたのですが、 上手く行かなかったので、現在は、ループさせて1行ずつ行っています。 できれば、範囲指定して一括で行いたいのですが、 そのような事は可能なのでしょうか? ご教授願います。

  • Excel セル範囲指定

    Excel VBA で、オフセット先のセルと一つ右のセルとを範囲指定する記述方法を教えて下さい。よろしくお願いします。 Range("????????????????").Select

専門家に質問してみよう