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

エクセルで簡単なカレンダーを作っています。
過ぎた日には斜線を入れていたのですが
その斜線が入ったセルをカウントする方法はないでしょうか?

お時間があるときでかまいませんので
お知恵を拝借できないかと、質問に致しました。
宜しくお願いします。

A 回答 (3件)

こんにちは。



現バージョン(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 を押さないと、変更されません。また、現在は、斜め線の右上がり、左上がり、どちらか一つがあれば、ひとつとして数えます。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
c.Borders(5).LineStyle > 0 Or c.Borders(6).LineStyle が
斜線を判定している箇所なんですよね?
勉強になりました。
早速試してみようと思います。

セルの計算式では書式のカウントは実現できないんですね。

お礼日時:2006/11/20 12:54

「カレンダーで過ぎた日に付けた斜線(罫線)を数えたい」と言うことであれば、日付計算でどうでしょうか?



=TODAY()-DATE(2006,1,1)
一つのセルに基準日(例・1月1日)から昨日までの日数を計算した場合です。基準日を指定できます。
カレンダーの日付の下のセルに表示したいときは{TODAY()}の部分を日付セルを指定してください。

日付のシリアル値を計算しますので、セルの書式設定を「標準」か「数値」で。。。
    • good
    • 0
この回答へのお礼

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

みなさま回答ありがとうございました。

お礼日時:2006/11/20 12:58

斜線とはスラッシュ「/」のことでしょうか?


それでしたら=COUNTIF(対象範囲,"/")でカウントできます。
(斜線が「/」以外でしたら上記の式の「/」の部分に
該当する記号を入力していただければ大丈夫だと思います)

エクセルの数式バーの左横に「fx」というボタンがありますので
そこを押して一番上のテキストボックスに「COUNTIF」を入力すれば
分かりやすいと思います。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
しかし私の説明不足で申し訳ありません。
斜線とは「セルの書式設定」→「罫線」で引いた斜線です。

私も最初に上記を思いつき行ってはみたものの
実現することができませんでした。
罫線を判断することはできないのでしょうか?

お手数おかけしまして、申し訳ありません。

お礼日時:2006/11/20 11:38

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

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