Vba 根据是否有数据对行进行编号的宏代码
我是VBA新手,但我不知道如何使这项工作。我正在从另一个Excel工作表复制大量数据,然后删除不需要的行。问题是我需要在A列中对数据进行编号,当我删除该行时,它会跳过编号。我想要一个宏,在我删除不需要的行后,它将为我的数据编号。当我的数据停止时,我确实需要它停止,但每次的行数将不同。有什么建议吗?谢谢。你可以试试这样的 删除行后,运行以下代码,将从第2行开始在A列中添加序列号Vba 根据是否有数据对行进行编号的宏代码,vba,excel,Vba,Excel,我是VBA新手,但我不知道如何使这项工作。我正在从另一个Excel工作表复制大量数据,然后删除不需要的行。问题是我需要在A列中对数据进行编号,当我删除该行时,它会跳过编号。我想要一个宏,在我删除不需要的行后,它将为我的数据编号。当我的数据停止时,我确实需要它停止,但每次的行数将不同。有什么建议吗?谢谢。你可以试试这样的 删除行后,运行以下代码,将从第2行开始在A列中添加序列号 Sub SqNumber() Dim lr As Long lr = Cells.Find("*", SearchOrd
Sub SqNumber()
Dim lr As Long
lr = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
With Range("A2:A" & lr)
.Formula = "=Row()-1"
.Value = .Value
End With
End Sub
使用union方法。收集范围并在最后一行删除它们
Sub test()
Dim rngU As Range
Dim i As Integer
For i = 1 To 100
If Range("a" & i) = "" Then
If rngU Is Nothing Then
Set rngU = Range("a" & i)
Else
Set rngU = Union(rngU, Range("a" & i))
End If
End If
Next i
If rngU Is Nothing Then
Else
rngU.EntireRow.Delete 'rngu is collected ranges.
End If
End Sub
为什么复制然后删除?为什么不直接复制你想要的呢?在任何情况下,如果您显示相关代码,那么我们就更容易建议如何改进它。只要在a列中添加一个公式,以便在相邻单元格中有数据时显示行号。不需要VBA。甚至在第一个单元格中键入“1”并自动填充