问题:
在这个论坛上的录音机和帮助下,我编写了一个代码(用于按钮)。 “i”列有(来自第 25 行)“Pcs”或一个数字。我的宏找到 Pcs 并将其更改为“”,然后宏删除“”和 0。填充单元格的长度是可变的,所以我将 500 作为“结束”,但它永远不会达到那个值。如果我运行宏,它可以工作并完成工作,但需要很长时间,特别是因为它必须执行 500 行。
Sub Fix()
Dim intEnd As Integer
Range("M1").Select
Cells.Replace What:="pcs", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
intEnd = 500
Range("I25").Select
Do Until ActiveCell.Row = intEnd
If Int(ActiveCell.Value) = 0 Then
Range(ActiveCell.Row & ":" & ActiveCell.Row).Delete
intEnd = intEnd - 1
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End sub
我很高兴我可以在论坛和录音机的帮助下制作这个宏,但现在我被困在加速中,没有真正的线索从哪里开始。有人有提示吗?
谢谢,如果需要更多信息或努力,请告诉我。
要以快速可用的方式完成此操作,您可以使用以下命令:
Sub DelMe()
Dim i As Long, x As Variant, y As Range
With Sheets("Sheet1")
x = .Range("I1", .Cells(Rows.Count, 9).End(xlUp)).Value
If UBound(x) < 25 Then Exit Sub
For i = 25 To UBound(x)
If x(i, 1) = 0 Or x(i, 1) = "" Or InStr(1, x(i, 1), "pcs", vbTextCompare) > 0 Then
If y Is Nothing Then
Set y = .Rows(i)
Else
Set y = Union(y, .Rows(i))
End If
End If
Next
y.EntireRow.Delete xlUp
End With
End Sub
它只是立即删除所有范围(您想要删除的范围)。
如果你有问题,就问吧 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)