如何选择字符串的第一个实例并删除整行

时间:2016-03-29 14:27:45

标签: excel vba excel-vba

下面的代码从列表中选择一个随机项

Sub Rand()
     ActiveWorkbook.Sheets("Kudo Prize").Range("B1").Formula = Evaluate("=INDEX(Lista!$A:$A,RANDBETWEEN(1,COUNTA(Lista!$A:$A)))")
End Sub

它工作得很完美,但我想添加一些内容,以便宏可以从列表中删除项目,项目重复几次,所以我想删除一个实例,例如B1中的结果是" Coffe&# 34;我希望宏找到" Coffe"的第一个实例。在" Lista"工作表并删除整行

1 个答案:

答案 0 :(得分:1)

由于Macro Man建议您可以使用range.find()进行匹配,您可以使用cells.EntireRow.Delete删除该行。 我无法想象你将实际使用这个函数...

Sub Rand()
 Dim value_to_find As String
 Dim row_number As Integer
 ActiveWorkbook.Sheets("Kudo Prize").Range("B1").Formula = Evaluate("=INDEX(Lista!$A:$A,RANDBETWEEN(1,COUNTA(Lista!$A:$A)))")
 value_to_find = ActiveWorkbook.Sheets("Kudo Prize").Range("B1").Text
 row_number = ActiveWorkbook.Sheets("Lista").Range("A:A").Find(value_to_find).Row
 ActiveWorkbook.Sheets("Lista").Cells(row_number, 1).EntireRow.Delete
End Sub