[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルに罫線が引かれているかを調べたい』(じゃみん)
指定したセルの右側に罫線(セル右に2番目に太い実線)が引かれているかを調べる方法はありますか?
セルC72に何かしらの関数を入れるとC10のセルの右側に罫線が引かれているかというもので、現在はcolorcount(C$10:C$42,$B64)を使い、C$10:C$42までの範囲でB64と同じ色を使っていたら数を数える関数を使っています。
このcolorcount関数のように、セルC72に何かしらの関数を入れるとC10のセルの右側に罫線が引かれているかを知りたいのです。(colorcount関数ではをしていますが、今回はひとつのセルに対してです。)
・C10に罫線が使われていれば、C72に"◯"
・D10に罫線が使われていれば、D72に"◯" .....
・C11に罫線が使われていれば、C73に"◯"
・D11に罫線が使われていれば、D73に"◯"
といった感じです。
わかり辛いかもしれませんが、ご存じの方がいらっしゃいましたらご教授ください。
よろしくお願いいたします。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
つまり、今、colorcount という名前の UDF(マクロ)をシート上で関数として使っているということですね。 それとおなじように、別のUDF(マクロ)を使って、シート上で使いたいということですね。
(β) 2016/10/21(金) 22:53
お返事いただき大変感謝しております。
おっしゃっているように、「別のUDF(マクロ)を使って、シート上で使いたい」ということです。
よろしくお願いいたします。
(じゃみん) 2016/10/21(金) 22:57
それでは。(2番目に太いというのが、これであっているのかどうか不安ですが)
Function CheckBorder(r As Range) As String With r.Borders(xlEdgeRight) If .LineStyle = xlContinuous And .Weight = xlMedium Then CheckBorder = "○" End With End Function
C72 に =CheckBorder(C10) これを右に下にフィルコピーではいかがですか。
(β) 2016/10/21(金) 23:09
完璧です。
完璧すぎます。
本当に本当に有難うございました!!
(じゃみん) 2016/10/22(土) 02:48
お手数ですが、教えていただければ助かります。
よろしくお願いいたします。
(じゃみん) 2016/10/22(土) 02:53
そのセルに色がついているかいないかを知りたいのですが、例えば、C72のセルに
1,右に罫線 2,色がついている の2つを満たした場合、1となるようにすることはできませんか?
それで全てが解決します。
どうかよろしくお願いいたします。
(じゃみん) 2016/10/22(土) 03:11
それでは、以下のようなものを使いましょう。
引数としては、まずセルを与えますが、そのあと、"Right" 、 "Left" 、 "Color" という文字列を 必要なだけ、任意の順番で与えます。文字は大文字、小文字 いずれでもOKです。
=CHECKCELL(C10,"RIGHT","COLOR","Left") =CHECKCELL(C10,"Right","Left") =CHECKCELL(C10,"color","left") =CHECKCELL(C19,"Right") =CHECKCELL(C10,"Color")
といった感じで使ってください。指定された文字列にある条件がすべて満たされていた場合に ○ をつけます。 提示の条件の場合は、"Color" と "Right" を 指定します。(順番はどちらが先でもOKです)
Function CheckCell(r As Range, ParamArray arg()) As String Dim p As Variant Dim ng As Long
For Each p In arg ng = ng + 1 Select Case LCase(p) Case "color" If r.Interior.ColorIndex <> xlNone Then ng = ng - 1 Case "right" With r.Borders(xlEdgeRight) If .LineStyle = xlContinuous And .Weight = xlMedium Then ng = ng - 1 End With Case "left" With r.Borders(xlEdgeLeft) If .LineStyle = xlContinuous And .Weight = xlMedium Then ng = ng - 1 End With End Select Next
If ng = 0 Then CheckCell = "○"
End Function
(β) 2016/10/22(土) 07:26
色々と新しいアイディアも思いつき、これからはもう少し仕事が楽しく思えそうです。
本当に有難うございました。
(じゃみん) 2016/10/22(土) 22:33
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.