【发布时间】:2015-07-29 00:07:49
【问题描述】:
我正在寻找一种按字母顺序将字符串(来自单元格)添加到字符串数组的方法。
例如:
string array = {"apple", "banana", "orange"}
添加"cherry":
string array = {"apple", "banana", "cherry", "orange"}
因此,如果我执行sheets(1).range("A1").value = new string array,整个数组将在一个单元格中。
我在网上找到了一个按字母顺序对选定单元格进行排序的功能,但不确定它是否对我有帮助。
Function Alphabetize(vStrings As Variant, separator As String) As String
Dim v As Variant, vSorted As Variant
Dim i As Long, j As Long, n As Long
Dim bDone As Boolean
For Each v In vStrings
n = n + 1
Next
ReDim vSorted(1 To n)
ReDim pos(1 To n)
For Each v In vStrings
i = i + 1
vSorted(i) = v
Next
For j = 2 To n
bDone = True
For i = 2 To n
If vSorted(i) < vSorted(i - 1) Then
v = vSorted(i - 1)
vSorted(i - 1) = vSorted(i)
vSorted(i) = v
bDone = False
End If
Next
If bDone Then Exit For
Next
For i = 1 To n
If vSorted(i) <> "" Then
If i = 1 Then
Alphabetize = separator & vSorted(i)
Else
If vSorted(i) <> vSorted(i - 1) Then Alphabetize = Alphabetize & separator & vSorted(i)
End If
End If
Next
Alphabetize = Mid$(Alphabetize, 2)
End Function
【问题讨论】:
-
您从哪里开始填充
vStrings以及您从哪里获得要添加到其中的 'cherry' 值?