我試圖寫一個基本功能的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