プロが教える店舗&オフィスのセキュリティ対策術

数式だけで、太字に設定されているセルの個数を求めたいのですが、
可能でしょうか?
イメージとしては下記のようなものです。

○=太字に設定されているセルと仮定
 A  B  C  D
1○  × ○  ×  太字は2個
2○  ○ ○  ×  太字は3個
3×  × ×  ○  太字は1個

A 回答 (4件)

数式(関数)では、書式情報を調べることはできません。


VBAを使用する必要があります
    • good
    • 8
この回答へのお礼

ありがとうございます。

お礼日時:2009/12/20 16:43

#3です。



4.0マクロを使う方法もあります。

「但し、4.0マクロがいつまでサポートされるかは不明で、遠くない将来に使えなくなってしまう可能性があることはご承知おきください。」
だそうです。


以下のキーワードでWeb検索すれば、いろいろ情報が得られます。
Excel 4.0 マクロ
GET.CELL 関数
太字
    • good
    • 0

おはようございます。



ユーザー定義関数による方法の一例です。
注)セル内の文字が全て太字の場合のみ対応してます。
  セル内の一部の文字が太字の場合はカウントしません。

'==========標準モジュールに記述=================
Function CountFontBold(argRng As Range) As Long
  Dim c As Range
  Dim buf As Long

  Application.Volatile

  buf = 0
  For Each c In argRng
    If c.Font.Bold = True Then
      buf = buf + 1
    End If
  Next c
  
  CountFontBold = buf

End Function
'==========使い方================================
' A1:D1の範囲で太字に設定されているセルの個数は
' =CountFontBold(A1:D1)





'以下はおまけです。
'上記の関数では、どこかのセルが再計算されないと実行されません。
'そこで、以下も記述しておけば、セルを太字に変更し、セルの選択範囲を移動した時点で再計算→上記関数の実行ができます。

'=============シートモジュールに記述=======================
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Application.CutCopyMode = False Then
    ActiveSheet.Calculate
  End If
End Sub
「太字に設定されているセルの個数を求めたい」の回答画像3
    • good
    • 0

次のようなマクロで対応することになるでしょう。


E列に太字のセルの個数を表示させます。
Sub 太字判定()
Dim RowPos As Integer
Dim ColPos As Integer
Dim i As Integer
m = Range("A65536").End(xlUp).Row
For RowPos = 1 To m
For ColPos = 1 To 4
If Cells(RowPos, ColPos).Font.Bold = True Then
i = i + 1
End If
Next
Cells(RowPos, 5).Value = i
i = 0
Next
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています