如何selectstring的第一个实例并删除整个行

下面的代码从列表中select一个随机项目

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

它的工作原理是完美的,但我想添加一些东西,所以macros可以从列表中删除项目项目重复自己多次,所以我想删除只是一个例子说,例如在B1的结果是“咖啡”我想macrosfind“Lista”表中的“Coffe”的第一个实例,并删除整个行

由于macros人build议您可以使用range.find()进行匹配,您可以使用cells.EntireRow.Delete删除该行。 我无法想象你将实际使用这个function…

 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