计算功能范围内的特殊字符

时间:2018-09-24 00:26:31

标签: excel vba

此功能应计算选定范围内的所有特殊隐藏字符。

我遇到一个错误。 StrIn = C.Text无效。

Function hiddencount(Rng As Range)

Dim C As Range
Dim cnt As Integer
Dim iCh As Integer
Dim StrIn As String
cnt = 0

For Each C In Rng.Cells
    C.Value = StrIn

    If Not C.HasFormula Then
        For iCh = 1 To Len(StrIn)
            If Asc(Mid(StrIn, iCh, 1)) < 32 Then
                cnt = cnt + 1
            End If
        Next iCh
    Else
    End If
Next C

hiddencount = cnt

End Function

1 个答案:

答案 0 :(得分:2)

简而言之,将C.Value = StrIn更改为StrIn = C.Text


您实际上确实不需要此变量。它只是创建更多代码以供日后阅读。为什么不只使用C.Text以便清楚地分析了什么?另外,如果您不打算对Else语句执行操作,则可以将其删除。

Function hiddencount(Rng As Range)

Dim C As Range, cnt As Integer, iCh As Integer

For Each C In Rng.Cells
    If Not C.HasFormula Then
        For iCh = 1 To Len(C.Text)
            If Asc(Mid(C.Text, iCh, 1)) < 32 Then cnt = cnt + 1
        Next iCh
    End If
Next C

hiddencount = cnt

End Function