利用EXCEL VBA如何将一列数据中不重复的数据读取到数组中

假如一列数据中有BAX,BOX,DHL,FED,YUAN,BAX,BOX,BOX,FED,FED等数据,其中有几个是重复的,如何利用VBA将这些数据中不重复的读取到数组中,即我需要这个数组里面只包含BAX,BOX,DHL,FED,YUAN这五个元素。请知道的朋友指教下,不甚感激。

第1个回答  2011-11-27
假设BAX,BOX,DHL,FED,YUAN,BAX,BOX,BOX,FED,FED数据放到表格sheet1中的A1到A9中。运行如下代码后,将不重复的BAX,BOX,DHL,FED,YUAN放到数组str_arr中,不重复的个数放到count中。代码已经调试ok了。
Sub del_repeat()
Dim i As Integer
Dim str_arr(100) As String
Dim count As Integer
Dim strtmp As String

count = 0
j = 1
For i = 1 To 1000
strtmp = Worksheets("sheet1").Cells(i, 1).Value
strtmp = Trim(strtmp)
For j = 1 To count
If strtmp = str_arr(j) Then
Exit For
End If
Next j
'说明有重复的,则追加到str_arr数组中
If (j > count) And (strtmp <> "") Then
count = count + 1
str_arr(count) = strtmp
End If
Next i
End Sub

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网