Excel 删除空行宏时类型不匹配
我创建了一个宏来删除所有工作表中的所有空行。宏运行,但出现“类型不匹配”错误。为什么会出现这个错误? 谢谢Excel 删除空行宏时类型不匹配,excel,vba,Excel,Vba,我创建了一个宏来删除所有工作表中的所有空行。宏运行,但出现“类型不匹配”错误。为什么会出现这个错误? 谢谢 发生这种情况的原因是.Value=”“并且单元格的值是错误的(它返回类型不匹配)。这是一个很好的解决方法: Sub RemoveEmptyRows() Dim i As Long, row As Long Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets For row = 10
发生这种情况的原因是
.Value=”“
并且单元格的值是错误的(它返回类型不匹配)。这是一个很好的解决方法:
Sub RemoveEmptyRows()
Dim i As Long, row As Long
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
For row = 10 To 1 Step -1
If IsError(ws.Cells(row, 4)) Then
ws.Rows(row).Delete
ElseIf ws.Cells(row, 4).Value = "" Then
ws.Rows(row).Delete
End If
Next row
Next ws
End Sub
发生这种情况的原因是
.Value=”“
并且单元格的值是错误的(它返回类型不匹配)。这是一个很好的解决方法:
Sub RemoveEmptyRows()
Dim i As Long, row As Long
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
For row = 10 To 1 Step -1
If IsError(ws.Cells(row, 4)) Then
ws.Rows(row).Delete
ElseIf ws.Cells(row, 4).Value = "" Then
ws.Rows(row).Delete
End If
Next row
Next ws
End Sub
在哪条线上?您还说“宏运行”在抛出错误之前是否删除了任何行?它对我来说运行正常,不会抛出任何错误。哪一行给了您错误?您正在签入的单元格中是否有任何单元格包含错误?这是您尝试运行的所有代码,还是您已将其删除?您已将
I声明为整数
,您将其用于何处?这可能是罪魁祸首,具体取决于您使用它的目的。@jnevil是的,它会删除行,然后抛出错误。在哪一行?您还说“宏运行”在抛出错误之前是否删除了任何行?它对我来说运行正常,不会抛出任何错误。哪一行给了您错误?您正在签入的单元格中是否有任何单元格包含错误?这是您尝试运行的所有代码,还是您已将其删除?您已将I声明为整数
,您将其用于何处?这可能是罪魁祸首,具体取决于您使用它的目的。@jnevil是的,它确实会删除行,然后抛出错误。谢谢Vityata,这段代码在不抛出错误的情况下帮助了我!谢谢Vityata,这段代码帮助了我而没有抛出错误!