我的数据从第A8行开始,其中A被填充,每行增加1。我遇到了一个问题,如果我删除一行,那么这些数字现在就会出现故障(例如:1,2,3,5)。如果我最终删除一行数据,我希望我的宏能够更新这些数字。我有一个工作表更改子,一旦做出更改就会执行其他一些操作,因此我考虑将此部分添加到结尾。
任何帮助都会很棒。
完整的宏太长了,但是在这里:
If Target.Cells.Count > 1000 Then
Application.EnableEvents = False
If Worksheets("Testing Sheet").Range("H2").Value = "" Then
Worksheets("Testing Sheet").Range("H2").Value = "SKU " & Worksheets("Detailed SKU List").Cells(Target.Row, 2).Value & " deleted on " & Date
Else
Worksheets("Testing Sheet").Range("H1").End(xlDown).Offset(1, 0).Value = "SKU " & Worksheets("Detailed SKU List").Cells(Target.Row, 2).Value & " deleted on " & Date
End If
Worksheets("Testing Sheet").Range("H1").End(xlDown).Font.Size = 8
Worksheets("Testing Sheet").Range("H1").End(xlDown).Interior.Color = rgbLightBlue
'Updates the row numbers
Application.EnableEvents = True
Exit Sub
End If
答案 0 :(得分:1)
正如评论中所述,我不像你提议的那样做事的忠实粉丝,但是这样做的代码如下:
' Set the cells starting at A8 and all the way down to "ROW-7" (since you start at row 8, it starts at 1 and continues onward)
Worksheets("Testing Sheet").Range(Worksheets("Testing Sheet").Range("A8"), Worksheets("Testing Sheet").Range("A8").End(xlDown)).FormulaR1C1 = "=ROW()-7"
' Convert the formula to a value
Worksheets("Testing Sheet").Range(Worksheets("Testing Sheet").Range("A8"), Worksheets("Testing Sheet").Range("A8").End(xlDown)).Value = _
Worksheets("Testing Sheet").Range(Worksheets("Testing Sheet").Range("A8"), Worksheets("Testing Sheet").Range("A8").End(xlDown)).Value
很长,但那是因为我每行代码引用Worksheets("Testing Sheet")
几次。
希望这可以解决问题!