如何使用VBA基于Header值select列

我目前正在删除行,如果没有在该列中find特定的值。

示例excel数据是

Sl.No Content 1 Apple 2 Ball 3 Cat 4 Ball 5 Cat 

而我正在使用的代码是

 Sub Delete() Dim startrow As Long 'starting row number here startrow = 2 ' Assuming data to check is in A Column Do Until startrow > Cells(Cells.Rows.Count, "A").End(xlUp).Row If Cells(startrow, 2).Value = "Ball" Then Rows(startrow).Delete Else startrow = startrow + 1 End If Loop End Sub 

这个代码的输出是

 Sl.No Content 1 Apple 3 Cat 5 Cat 

此代码正在工作完美。 现在我需要一个小的改变。 我正在尝试使用列标题“Content”selectB列,然后删除包含“Ball”的行而不是提供单元格编号。

请帮助我达成此目的。 TIA

 Sub Delete() Dim startrow As Long Dim rng1 As Range 'starting row number here startrow = 2 ' Assuming data to check is in A Column Set rng1 = ActiveSheet.UsedRange.Find("Content", , xlValues, xlWhole) If Not rng1 Is Nothing Then Do Until startrow > Cells(Cells.Rows.Count, "A").End(xlUp).Row If Cells(startrow, rng1.Column).Value = "Cat" Then Rows(startrow).Delete Else startrow = startrow + 1 End If Loop Else MsgBox "Column Not Found", vbCritical End If End Sub