2016-06-22 2 views
0

このマクロVBAスクリプトはExcelで有効で、2番目の列に空のセルまたは "NULL"というテキストが含まれていれば行が削除されますこれらの列でXMLマッピングを使用すると、これらのスクリプトは正しく機能しなくなります。これらのスクリプトを使用する前に、XMLマッピングが必要です。何か案は ?ExcelのVBAスクリプトが、列のXMLマッピングスキーマを使用するときのように動作しなくなる

Sub DelBlankRows() 

     Columns("B:B").Select 
     Selection.SpecialCells(xlCellTypeBlanks).Select 
     Selection.EntireRow.Delete 

With ActiveSheet.AutoFilterMode = False 
    With Range("b1", Range("b" & Rows.Count).End(xlUp)) 
    .AutoFilter 1, "*NULL*" 
    On Error Resume Next 
    .Offset(1).SpecialCells(12).EntireRow.Delete 
    End With 
.AutoFilterMode = False 
End With 
End Sub 
+0

"正しく動作しなくなる"とはどういう意味ですか? –

+0

現在、空のセルを持つ行だけでなく、テーブルからすべてのデータを削除します。 – YMIFrozen

+0

フィルタを適用した後、すべての行が表示されるのか、「NULL」の行のみが表示されますか? –

答えて

0

いいえ、私はセルがXMLでマップされていても機能する優れたソリューションを見つけました。ここにあります:

Dim r As Integer 
    For r = Sheet1.UsedRange.Rows.Count To 1 Step -1 
     If Cells(r, "C") = "" Then 
      Sheet1.Rows(r).EntireRow.Delete 
     ElseIf Cells(r, "C") = "NULL" Then 
      Sheet1.Rows(r).EntireRow.Delete 
     End If 
    Next 
関連する問題