Sub t()
Dim arr, i&, j%, d As Object
arr = Sheets("总日课表").Range("C3").CurrentRegion.Value
Set d = CreateObject("scripting.dictionary")
For i = 4 To UBound(arr)
For j = 4 To UBound(arr, 2) Step 2
If Len(arr(i, j)) And Not d.exists(arr(i, j)) Then d(arr(i, j)) = ""
Next
Next
Sheets("提取教师名单").Range("A2").Resize(d.Count) = Application.Transpose(d.keys)
End Sub
如果遍历到的值既不是空值,而且又未被字典记录过,那么字典记录该值。