アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは、エクセルのマクロを教えて頂けませんか?

A~J列に10000行程度のデータが入っています。
その行に一つでもエラーが有ったらその行を削除するにはどうしたら良いでしょうか?

データが多いのでなるべく早く削除したいです。
詳しいかた、教えて頂けませんでしょうか。

よろしくお願いします。

質問者からの補足コメント

  • うーん・・・

    やってみたけど何にも起こりませーん

    No.3の回答に寄せられた補足コメントです。 補足日時:2015/09/21 10:58

A 回答 (3件)

エラーと言ってもいろいろありますが、どんなエラーですか?



なんでこんなことを聞くかって、まあ#VALUE!なら明らかだけど、例えば初めてそのデータを見せられた人がエラーだとはわからないようなデータもあるじゃないですか。例えばゼロが入ってることはありえないはずのデータにゼロがある、これはエラーだ、みたいな。

その場合は「ゼロが入ってることはありえない」と言うような、エラーとみなす条件をはっきりさせてくださいってことです。
    • good
    • 0

下記は1行目の各列に最終データがある列までの項目名が必ず入力されているという条件の下に動作します。



Sub Sample()
  Dim i As Long
  Dim j As Long
   For j = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
    For i = Cells(Rows.Count, j).End(xlUp).Row To 2 Step -1
      If IsError(Cells(i, j).Value) Then
       Cells(i, j).EntireRow.Delete
      End If
     Next i
   Next j
End Sub
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
お陰様で無事出来ました。

お礼日時:2015/09/21 10:55

こんにちは。



'エラーを特定せずに、削除します。

Sub DeleteErrorRows()
 Dim Rng As Range
 Application.ScreenUpdating = False
 With ActiveSheet.UsedRange
  On Error Resume Next
  Set Rng = .SpecialCells(xlCellTypeFormulas, xlErrors)
  On Error GoTo 0
  If Not Rng Is Nothing Then
   Rng.EntireRow.Delete
  End If
 End With
 Application.ScreenUpdating = True
End Sub
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています