我在Excel电子表格中有以下内容,
如何根据J column = 0中发布的行删除行?
最好将行剪切并将其粘贴到另一张纸中..但如果您可以帮我删除它,那就太好了。
答案 0 :(得分:3)
Sub Delete_Zero_Codes() ' Deletes The Zero Codes
Dim rCell As Range
Dim strAddress As String
Application.ScreenUpdating = False
With Thisworkbook.Sheets("sheetname").Columns("J")
Set rCell = .Find(What:=0, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns)
If Not rCell Is Nothing Then
Do
strAddress = rCell.Address
rCell.EntireRow.Delete
Set rCell = .FindNext(Range(strAddress))
Loop Until rCell Is Nothing
End If
End With
Application.ScreenUpdating = True
End Sub
这些宏删除了J列的零代码,并没有将它们粘贴到其他工作表,如果你需要将J列的零代码复制到其他工作表,那么让我知道我会更新它
答案 1 :(得分:3)
此代码自动过滤活动表格中J = 0的行,将它们复制到第二个工作表上的第一个空白行,然后从活动表格中删除行。
更改此行Set ws2 = Sheets(2)
以将行复制到不同的工作表,即第五张工作表的Set ws2 = Sheets("Your Sheet Name")
或Set ws2 = Sheets(5)
等
Sub MoveEm()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = ActiveSheet
Set ws2 = Sheets(2)
Dim rng1 As Range
Application.ScreenUpdating = False
With ws1
.AutoFilterMode = False
.Columns("j").AutoFilter Field:=1, Criteria1:="0"
With .AutoFilter.Range.Offset(1, 0).EntireRow
Set rng1 = ws2.Cells.Find("*", ws2.[a1], xlValues, , xlRows, xlPrevious)
If rng1 Is Nothing Then
Set rng1 = ws2.[a1]
Else
Set rng1 = ws2.Cells(rng1.Row + 1, "A")
End If
.Copy rng1
.Delete
End With
.AutoFilterMode = False
End With
Application.ScreenUpdating = True
End Sub