我试图写一个基本功能的LibreOffice Calc中使用下面的代码来获得所选择的小区中每个单词的第一个字母:如何结束基本功能正常
Function GetFirstLetters(rng) As String
Dim arr
Dim I As Long
arr = Split(rng, " ")
If IsArray(arr) Then
For I = LBound(arr) To UBound(arr)
GetFirstLetters = GetFirstLetters & Left(arr(I), 1)
Next I
Else
GetFirstLetters = Left(arr, 1)
End If
End Function
而且它的工作原理正确,除非我尝试再次执行它,那么它似乎新结果被附加到任何先前执行的,它将两个字符串返回在一起,例如:
这也无所谓如果我删除一些甚至全部单元格,或者i F I叫它使用空单元格或甚至在另一个页面,它会永远追加的结果与前一个:
为什么会出现这种情况?我该如何解决这个问题?
我对基本的东西一无所知,所以如果这件事很简单,请不要打我。
原来的功能是这样的:
Function GetFirstLetters(rng As Range) As String
'Update 20140325
Dim arr
Dim I As Long
arr = VBA.Split(rng, " ")
If IsArray(arr) Then
For I = LBound(arr) To UBound(arr)
GetFirstLetters = GetFirstLetters & Left(arr(I), 1)
Next I
Else
GetFirstLetters = Left(arr, 1)
End If
End Function
而且我是从这里:http://www.extendoffice.com/documents/excel/1580-excel-extract-first-letter-of-each-word.html。
我自己想不出来,谢谢! – arielnmz