如何解决无法识别像元值
在以下代码中,无法识别“ m3”和“%Pieces”的单元格值,也无法识别所有为空的单元格。如果我重复这3次,那么它将应用于所有符合条件的单元格。如何以这种方式编写代码,而不必重复3次?我已经多次检查了拼写。
Dim Summary As Workbook
Dim Osheet As Worksheet
Dim Dsheet1 As Worksheet
Dim Dsheet2 As Worksheet
Dim cel As Range
Dim Rng1 As Range
Dim Rng2 As Range
Dim Rng3 As Range
TurnOffFunctionality
Application.ScreenUpdating = False
Application.displayAlerts = False
Set Summary = Workbooks("Quesnel Sawmill Monthly Production Summary - Blank.xlsm")
Set Osheet = ActiveWorkbook.Worksheets("Sheet1")
Set Dsheet1 = Summary.Worksheets("Sorter 1 Production")
Set Dsheet2 = Summary.Worksheets("Sorter 2 Production")
Set Rng1 = Osheet.Range("C:U")
Set Rng2 = Osheet.Range("E12:E100")
Set Rng3 = Osheet.Range("A12:V12")
With Osheet
Rng1.Unmerge
Rng1.WrapText = False
Osheet.Range("E12:E100").TextToColumns Destination:=Range("E12"),DataType:=xlDelimited,_
TextQualifier:=xlDoubleQuote,ConsecutiveDelimiter:=False,Tab:=True,_
Semicolon:=False,Comma:=False,Space:=False,Other:=False,FieldInfo _
:=Array(1,2),TrailingMinusNumbers:=True
For Each cel In Rng2
If cel.Value = "FBM" Then
cel.EntireRow.Delete
ElseIf cel.Value = "m3" Then
cel.EntireRow.Delete
ElseIf cel.Value = "% FBM" Then
cel.EntireRow.Delete
ElseIf cel.Value = "% Pieces" Then
cel.EntireRow.Delete
ElseIf cel.Value = "" Then
cel.EntireRow.Delete
End If
Next
For Each cel In Rng3
If cel.Value = "" Then
cel.EntireColumn.Delete
End If
Next
Range("A18").ClearContents
Columns("B:J").AutoFit
End With
TurnOnFunctionality
Application.ScreenUpdating = True
Application.displayAlerts = True
End Sub
解决方法
每当您循环和删除行时,事情就会变得混乱。 删除非常耗时。 我建议将行数据放在临时表或数组中,然后清理母版表进行计算并放回干净的数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。