У меня есть странная проблема с функцией LEN. Мой ввод - это строка «......», для которой LEN возвращает длину 2. Я не знаю, почему это происходит. Какие-либо предложения? код я использую:Функция Len возвращает неверные результаты
Function replaceCharWith(ByVal str As String, ByVal chToReplace As String, ByVal ch As String) As String
For i = 1 To Len(str)
If Mid(str, i, 1) = chToReplace Then
replaceCharWith = replaceCharWith & ch
Else
replaceCharWith = replaceCharWith & Mid(str, i, 1)
End If
Next
End Function
Sub dotsToSlashes()
Dim c As Range
For Each c In Selection
c = replaceCharWith(c, ".", "/")
Next
End Sub
Спасибо.
Я подозреваю, что ваша строка не "......", но "......". Это 2 раза HORIZONTAL ELLIPSIS Unicode x2026. Excel автоматически заменяет ... если параметры автозамены по умолчанию. –
Любопытно, почему вы не используете функцию [Заменить] (http://msdn.microsoft.com/en-us/library/office/gg264409 (v = office.15) .aspx)? –
@CoolBlue, потому что только теперь я знаю об этом .. Спасибо! –