- ベストアンサー
excel 2007 エラー回避
If文など試しましが、エラー回避ができません。 空白があったら”0000”と入れられますが、逆に空白がなかった場合をどのようにしていくか すいません、教えてください。 Worksheets("A").Range("B10:AF44").NumberFormatLocal = "@" Worksheets("A").Range("B10:AF44").SpecialCells(xlCellTypeBlanks).Value = "0000"
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
空白が無い場合の処理を考える必要がある場合 ワークシート関数の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
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
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" としておきましょう。
お礼
すいません、ありがとうございました
お礼
返信遅れました、ありがとうございます