ここから本文です

エクセルで斜体の数字のみをカウントするマクロを以前教えていただき、同様に下線...

yos********さん

2010/11/2400:38:14

エクセルで斜体の数字のみをカウントするマクロを以前教えていただき、同様に下線の数字のみをカウントするマクロをつくろうとしてUnderlineとしてみましたがうまくいきませんので教えていただけませんか?

教えていただいた斜体の数字をカウントするマクロ
Function sumItalic(myRng As Range) As Variant
For Each c In Intersect(myRng, ActiveSheet.UsedRange)
If IsNumeric(c) And c.Font.Italic Then sumItalic = sumItalic + c
Next
End Function
シート内のセルに数式として=sumItalic(合計するセル範囲)

上記マクロのsumItalic→sumUnderline、Font.Italic→Font.Underline
シート内のセルに数式として=sumUnderline(合計するセル範囲)

としましたが、うまく反映されません。

閲覧数:
1,136
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

エコじいさん

2010/11/2402:26:03

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

で、いけると思う。

【補足】
先のsumItalic関数にも
Application.Volatile
の1行を追加する

共に、セルの値の変更でなく書式の変更のみでは再計算の対象にならないので、その場合にファンクションキー[F9]で再計算実行

質問した人からのコメント

2010/11/24 10:34:52

再度回答ありがとうございました。さらに改善も盛り込んでいただいて感謝です。

ベストアンサー以外の回答

1〜1件/1件中

jac********さん

2010/11/2401:54:36

Function sumUnderline(myRng As Range) As Variant
For Each c In Intersect(myRng, ActiveSheet.UsedRange)
If IsNumeric(c) And c.Font.Underline <> xlUnderlineStyleNone Then
sumUnderline = sumUnderline + c
End If
Next
End Function

で、どうでしょうか?

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる