• ベストアンサー

斜線が入ったセルのカウント

エクセルで簡単なカレンダーを作っています。 過ぎた日には斜線を入れていたのですが その斜線が入ったセルをカウントする方法はないでしょうか? お時間があるときでかまいませんので お知恵を拝借できないかと、質問に致しました。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 現バージョン(97~2003)では、書式を数えるのは、ユーザー定義関数しかありません。 ユーザー定義関数の貼り付け方 標準モジュールへの取り付けます。 Alt +  F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。 次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、以下のコードを貼り付けて、 Alt + Q で、画面を閉じます。 '---------------------------------------- Function BordersCount(範囲 As Range)  Dim cnt As Long  Dim c As Variant  For Each c In 範囲     If c.Borders(5).LineStyle > 0 Or c.Borders(6).LineStyle > 0 Then      cnt = cnt + 1     End If  Next c  Application.Volatile  BordersCount = cnt End Function '---------------------------------------- ワークシートへの使い方 例 (大文字小文字は、最初に入れた時に決まりますので、関係がありません)  =BORDERSCOUNT(A1:A15) ただし、もともと、数値や文字を数えているのではありませんので、罫線を数えるのは、F9 を押さないと、変更されません。また、現在は、斜め線の右上がり、左上がり、どちらか一つがあれば、ひとつとして数えます。

y_ooo_y11
質問者

お礼

回答ありがとうございます。 c.Borders(5).LineStyle > 0 Or c.Borders(6).LineStyle が 斜線を判定している箇所なんですよね? 勉強になりました。 早速試してみようと思います。 セルの計算式では書式のカウントは実現できないんですね。

その他の回答 (2)

  • vista2446
  • ベストアンサー率46% (131/279)
回答No.3

「カレンダーで過ぎた日に付けた斜線(罫線)を数えたい」と言うことであれば、日付計算でどうでしょうか? =TODAY()-DATE(2006,1,1) 一つのセルに基準日(例・1月1日)から昨日までの日数を計算した場合です。基準日を指定できます。 カレンダーの日付の下のセルに表示したいときは{TODAY()}の部分を日付セルを指定してください。 日付のシリアル値を計算しますので、セルの書式設定を「標準」か「数値」で。。。

y_ooo_y11
質問者

お礼

回答ありがとうございます。 そうですよね。別に斜線を計算する必要はなく 任意の日付から本日までの経過日数をカウントすればいいんでした。 マクロも大変良かったのですが、今回は特に凝る必要がないので こちらを試してみたいと思います。 みなさま回答ありがとうございました。

回答No.1

斜線とはスラッシュ「/」のことでしょうか? それでしたら=COUNTIF(対象範囲,"/")でカウントできます。 (斜線が「/」以外でしたら上記の式の「/」の部分に 該当する記号を入力していただければ大丈夫だと思います) エクセルの数式バーの左横に「fx」というボタンがありますので そこを押して一番上のテキストボックスに「COUNTIF」を入力すれば 分かりやすいと思います。

y_ooo_y11
質問者

お礼

早速の回答ありがとうございます。 しかし私の説明不足で申し訳ありません。 斜線とは「セルの書式設定」→「罫線」で引いた斜線です。 私も最初に上記を思いつき行ってはみたものの 実現することができませんでした。 罫線を判断することはできないのでしょうか? お手数おかけしまして、申し訳ありません。