エクセルについて

ある範囲内の値がブランクの場合、そこに”0”を入れたいのですが、そういうのをマクロで組むことは可能でしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/06/20 18:30:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:SALINGER No.1

回答回数3454ベストアンサー獲得回数969

ポイント35pt

マクロならば、こんな感じ

Sub Macro()
    Dim myRange As Range
    
    For Each myRange In Selection
        If myRange = "" Then
            myRange.Value = 0
        End If
    Next
End Sub
id:Mook No.2

回答回数1314ベストアンサー獲得回数393

ポイント35pt

こんなのではどうでしょうか。

Sub fillZero()
    Dim rg As Range
    '--- 選択したセルを対象に処理を実行
    For Each rg In Selection
        If IsEmpty(rg) Then
            rg.Value = 0
        End If
    Next
End Sub

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 kaiton 260 227 34 2007-06-19 10:11:10
  • id:kaiton
    1行で かつ 選択範囲が広い場合は処理速度の速い 別解です。

    通常の捜査なら
    範囲を選択・[編集]・[ジャンプ]・[セル選択]・[空白セルにチェックでOK]
    0 Ctrl+Enter

    キー記録なら A1:H20が選択範囲なら
    Sub Macro1()
    Range("A1:H20").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.FormulaR1C1 = "0"
    End Sub

    これを、不要な部分を除くと

    Sub Macro2()
    Selection.SpecialCells(xlCellTypeBlanks) = "0"
    End Sub


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません