• ベストアンサー

excel 2007 エラー回避

If文など試しましが、エラー回避ができません。 空白があったら”0000”と入れられますが、逆に空白がなかった場合をどのようにしていくか すいません、教えてください。 Worksheets("A").Range("B10:AF44").NumberFormatLocal = "@" Worksheets("A").Range("B10:AF44").SpecialCells(xlCellTypeBlanks).Value = "0000"

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

空白が無い場合の処理を考える必要がある場合 ワークシート関数のCountBlankを使ってみる。 With Worksheets("Sheet1").Range("B2:D12") .NumberFormatLocal = "@" If WorksheetFunction.CountBlank(.Cells) > 0 Then .SpecialCells(xlCellTypeBlanks).value = "0000" Else '空白セルが無い場合の処理 End If End With 空白が無い場合の処理を考えなくても良い場合 ワークシート関数のCountBlankを使う With Worksheets("Sheet1").Range("B2:D12") .NumberFormatLocal = "@" If WorksheetFunction.CountBlank(.Cells) > 0 Then .SpecialCells(xlCellTypeBlanks).value = "0000" End If End With エラーを無視する With Worksheets("Sheet1").Range("B2:D12") .NumberFormatLocal = "@" On Error Resume Next '★エラー行は無視 .SpecialCells(xlCellTypeBlanks).value = "0000" On Error GoTo 0 '★エラー無視解除 End With

pop2003
質問者

お礼

返信遅れました、ありがとうございます

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

on error resume next Worksheets("A").Range("B10:AF44").NumberFormatLocal = "@" Worksheets("A").Range("B10:AF44").SpecialCells(xlCellTypeBlanks).Value = "0000" でいいですが,イマイチあなたが何をやっているのかよく見えないので on error resume next Worksheets("A").Range("B10:AF44").specialcells(xlcelltypeblanks).NumberFormatLocal = "@" Worksheets("A").Range("B10:AF44").SpecialCells(xlCellTypeBlanks).Value = "0000" としておきましょう。

pop2003
質問者

お礼

すいません、ありがとうございました