下面的代码从列表中选择一个随机项
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"工作表并删除整行
答案 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