下面是我正在运行的代码,我不太确定是否可以得到我想要的。
但奇怪的是,代码运行时间太长。
我等了一个小时。
所以我觉得代码中一定有一些错误。
任何人都可以对此有所了解吗?VBA:在找到单元格之前插入一个新行
Set x = Workbooks.Open("C:\Users\Desktop\testing.xlsx")
For Each ws In x.Worksheets
If ws.Name <> "Master" Then
lrow = ws.Cells(Rows.Count, "A").End(xlUp).Row
Set rng = ws.Range(Cells(1, 1), Cells(lrow, 1))
For Each Acell In rng
If (Acell.Value = "Sum") Then
Acell.Offset(-1, 0).EntireRow.Insert
End If
Next Acell
End If
Next ws
我正在寻找在柱A说:“总”字,除了为“主”片在工作簿每个表。
“总和”单词是否会在一列中出现多次? – Hank
删除或插入行时(尤其是在当前行之前),应该始终按照相反的顺序从最后一行到第一行。 –
你应该在你的工作表中指定** always EVERY **'Cells','Rows','Range'等等(你没有)像'ws.Cells','ws.Rows','ws.Range '。 **不要使用他们没有资格的工作表。**如果您不符合工作表的条件,那么Excel总是假定您的意思是“ActiveSheet”(而这大部分都是错误的)。阅读[VBA最佳实践:永不假设工作表](https://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/9218/never-assume-the-worksheet)以获得更好的理解。 –