如何使用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