我有关于福利的数据。这些工作表的底部是调整。这些不应在我的宏和公式中使用。
我希望VBA无需手动删除,而是找到“调整”并删除该行以及该行以下的所有行。我需要3个工作表才能重复。
我已经在Google上搜索并尝试了各种代码,但似乎无法正确阅读。有人可以帮忙吗?
答案 0 :(得分:0)
第一步是找到“调整”的第一行。您将使用.Find方法获取该信息。下面是示例代码行。您可以在Google上搜索更多详细信息和示例。
有了它,您将找到最后一行,然后从调整行的开始到最后一行删除行。我在下面包括了应该有用的功能。
Set foundCell = rng.Cells.Find(varSearchValue, celStartCell, enuXlFindLookIn, enuXlLookAt)
Public Function LastUsedRow(wks As Worksheet) As Long
Dim rng As Range: Set rng = wks.UsedRange ' Excel will recalc used range
LastUsedRow = rng.Row + rng.Rows.Count - 1
End Function
Public Sub DeleteRows(wks As Worksheet, lngRowStart As Long, Optional ByVal lngRowEnd As Long = 0)
If lngRowEnd = 0 Then lngRowEnd = lngRowStart
wks.Rows(lngRowStart & ":" & lngRowEnd).Delete
End Sub
答案 1 :(得分:0)
我推断 Adjustments 是某种级别的标题行标签。我假设它总是在A列中。
sub ScrubAdjustments()
dim w as long, wss as variant, m as variant
wss = array("sheet1", "sheet2", "sheet3")
for w = lbound(wss) to ubound(wss)
with worksheets(wss(w))
m = application.match("adjustments", .range("a:a"), 0)
if not iserror(m) then
.range(.cells(m, "A"), .cells(.rows.count, "A")).entirerow.delete
end with
end with
next w
end sub