エクセルについて

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

回答の条件
  • 1人2回まで
  • 登録:2007/06/13 18:27:32
  • 終了:2007/06/20 18:30:03

回答(3件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692007/06/13 18:33:12

ポイント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

Mook回答回数1312ベストアンサー獲得回数3912007/06/13 18:54:24

ポイント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


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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません