【正答100P】Excel2000、又はOpenOffice.org Calc(最新)で自動処理:


列A、列B、列C の、行100~150、行200~250、行300~350 のみに対する処理
「もしセルの内容がnull、又は数値111、又は文字「-」だった場合、そのセルを数値「0」に書き換える」

よろしくお願い申し上げます。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/12/14 17:43:12
  • 終了:2010/12/14 19:23:45

ベストアンサー

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692010/12/14 18:04:41

ポイント100pt

セルの内容がnullというのはちょっとわからないところです。

セルの内容が空白でもnullにはならないので、空白ならばにしています。

Sub Macro()
    Dim r As Range
    Dim rs As Range
    
    Set rs = Range("A100:C150,A200:C250,A300:C350")
    For Each r In rs
        If r.Value = "" Or r.Value = 111 Or r.Value = "-" Then
            r.Value = 0
        End If
    Next
End Sub

その他の回答(1件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692010/12/14 18:04:41ここでベストアンサー

ポイント100pt

セルの内容がnullというのはちょっとわからないところです。

セルの内容が空白でもnullにはならないので、空白ならばにしています。

Sub Macro()
    Dim r As Range
    Dim rs As Range
    
    Set rs = Range("A100:C150,A200:C250,A300:C350")
    For Each r In rs
        If r.Value = "" Or r.Value = 111 Or r.Value = "-" Then
            r.Value = 0
        End If
    Next
End Sub
id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982010/12/14 19:06:45

ポイント100pt
Sub main()

    For a = 100 To 150
        If Cells(a, "A") = "" Or Cells(a, "A") = "111" Or Cells(a, "A") = "-" Then
            Cells(a, "A") = "0"
        End If
        If Cells(a, "B") = "" Or Cells(a, "B") = "111" Or Cells(a, "B") = "-" Then
            Cells(a, "B") = "0"
        End If
        If Cells(a, "C") = "" Or Cells(a, "C") = "111" Or Cells(a, "C") = "-" Then
            Cells(a, "C") = "0"
        End If
    Next a
    
    For a = 200 To 250
        If Cells(a, "A") = "" Or Cells(a, "A") = "111" Or Cells(a, "A") = "-" Then
            Cells(a, "A") = "0"
        End If
        If Cells(a, "B") = "" Or Cells(a, "B") = "111" Or Cells(a, "B") = "-" Then
            Cells(a, "B") = "0"
        End If
        If Cells(a, "C") = "" Or Cells(a, "C") = "111" Or Cells(a, "C") = "-" Then
            Cells(a, "C") = "0"
        End If
    Next a
    
    For a = 300 To 350
        If Cells(a, "A") = "" Or Cells(a, "A") = "111" Or Cells(a, "A") = "-" Then
            Cells(a, "A") = "0"
        End If
        If Cells(a, "B") = "" Or Cells(a, "B") = "111" Or Cells(a, "B") = "-" Then
            Cells(a, "B") = "0"
        End If
        If Cells(a, "C") = "" Or Cells(a, "C") = "111" Or Cells(a, "C") = "-" Then
            Cells(a, "C") = "0"
        End If
    Next a
    
    For a = 100 To 150
        If Cells(a, "A") = "" Or Cells(a, "A") = "111" Or Cells(a, "A") = "-" Then
            Cells(a, "A") = "0"
        End If
        If Cells(a, "B") = "" Or Cells(a, "B") = "111" Or Cells(a, "B") = "-" Then
            Cells(a, "B") = "0"
        End If
        If Cells(a, "C") = "" Or Cells(a, "C") = "111" Or Cells(a, "C") = "-" Then
            Cells(a, "C") = "0"
        End If
    Next a

End Sub

ExcelのVBAです。

わかりやすくするために そんなに難しくしていません。

コメントはまだありません

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

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

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

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