我想做一些简单的事情,并隐藏一行,如果该行中的所有数据都是空的。excel隐藏范围内的空单元格
我已经搜索,无法得到它的工作。这是我迄今为止。
Sub UpdateFields_630()
Application.ScreenUpdating = False
Dim sht3 As Worksheet
Set sht3 = ThisWorkbook.Worksheets("630 BOM")
Dim LastRow As Long, LastCol As Long
Dim rng As Range, c As Range
On Error GoTo 0
With sht3
Set rng = Cells
LastRow = rng.Find(What:="*", After:=rng.Cells(1), Lookat:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
LastCol = rng.Find(What:="*", After:=rng.Cells(1), Lookat:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False).Column
For Each c In Range(Cells(9, "E"), Cells(LastRow, LastCol))
If c.Value = "" Then
c.EntireRow.Hidden = True
Else
c.EntireRow.Hidden = False
End If
Next
End With
sht3.Protect
Set rng = Nothing
Set sht3 = Nothing
Application.ScreenUpdating = True
End Sub
之前排序
后排序
行13,14,19,20和38因为某种原因被隐藏了这段代码,并且找不到原因。
我可以得到这个工作,如果我隐藏基于column "A" total = 0
但行行27 & 30
将隐藏。我试过If c.Value = "x" Then c.EntireRow.Hidden = False
,这似乎没有做任何事情。
感谢您的任何帮助。
相反检查如果单元格值是“”,检查单元格的值的长度为0 –
@RichHolton我会怎么做呢?之前没有在VBA中使用过'LEN'。 Thx –