ご覧いただきありがとうございます。
エクセルで下線の付いたアルファベットをカウントしたいのですが、関数では不可能という事を知り、色々調べた結果、VBAで下線の付いた【数字】をカウントする方法を知りました。
これを【アルファベット】をカウントするものにしたいのですが、【IsNumeric】の部分を違うものに変更すれば可能なのでしょうか?
どのように書き変えればカウント出来るのか教えていただきたいです。
よろしくお願い致します。
◯下線の付いた数字をカウントするマクロです。
⬇︎
Function sumUnderline(myRng As Range) As Variant
Application.Volatile
For Each c In Intersect(myRng, ActiveSheet.UsedRange)
If IsNumeric(c) And c.Font.Underline = xlUnderlineStyleSingle Then sumUnderline = sumUnderline + c
Next
End Function
> 下線の付いたアルファベットの個数だけをカウントしたい
No2でできたという事はセルの個数で良かったのでしょうか…
とりあえず文字数としたら
Function SUMALPHAUL(myRng As Range) As Variant
Dim i As Integer
Dim c As Range
Dim CheckStr As String
Application.Volatile
For Each c In Intersect(myRng, ActiveSheet.UsedRange)
CheckStr = StrConv(c.Value, vbNarrow)
For i = 1 To Len(CheckStr)
If Mid(CheckStr, i, 1) Like "[A-z]" = True And _
c.Characters(Start:=i, Length:=1).Font.Underline = xlUnderlineStyleSingle Then
SUMALPHAUL = SUMALPHAUL + 1
End If
Next i
Next
End Function
以下のコードでいけると思います。
Function SUMALPHA(myRng As Range) As Variant
Dim i As Integer
Dim c As Range
Dim CheckStr As String
Application.Volatile
For Each c In Intersect(myRng, ActiveSheet.UsedRange)
CheckStr = StrConv(c.Value, vbNarrow)
For i = 1 To Len(CheckStr)
If Mid(CheckStr, i, 1) Like "[A-z]" = True Then
SUMALPHA = SUMALPHA + 1
End If
Next i
Next
End Function
お礼
早々のご回答ありがとうございました。 >下線の付いた"【数字】の合計"を求める方法になっています。 なるほど!そうだったのですね! 仰る通り、下線付きのアルファベットが入力されている個数をカウントしたかったのです。 教えていただいた通り、書き変えてみたら出来ました!! 本当にありがとうございました☆