关键字查询有好几种方法,那么用数组如何完成呢? 知识点:Instr函数在数组中查询关键字是否存在 Instr(查找位置 , 关键字)>0(可省略>0)则代表找到了关键字。 代码: Private Sub CommandButton1_Click() On Error Resume Next Dim arr, i%, n%, brr(1 To 100, 1 To 2), 列% Dim str1 As String, str2 As String str1 = Range("B12"): str2 = Range("B13") '获取项目所在的列号 列 = Rows("1:1").Find(str2, , , 1).Column '清除原来的查询结果 Dim 行% 行 = Range("A" & Rows.Count).End(xlUp).Row If 行 >= 15 Then Range("A15:B" & 行).ClearContents End If arr = Range("A1").CurrentRegion n = 1 brr(1, 1) = "球员": brr(1, 2) = str2 For i = 2 To UBound(arr) If VBA.InStr(arr(i, 1), str1) Then n = n + 1 brr(n, 1) = arr(i, 1): brr(n, 2) = arr(i, 列) End If Next i Range("A15").Resize(n, 2) = brr End Sub