RGB値を弄って斜線を黒から白に変える手は当たり前ですがダメです。
セルが空欄でない時には文字の上を白い斜線が横切ることになります。
ゲッ☆(゜ュ)с=(`´メ
やはり、ここはきちんと斜線を消去しなければなりません。もう一度
記録マクロを使ってコードを調べてみましょう。
セルC3に左上から右下に引かれた斜線を消去してみます。
!! マクロ記録 : 2007/04/01 18:56:03
with Worksheet.Diagonals.Add(Range("C3"),Range("D4"))
..LineStyle = snsNone
end with
これはWith と end with の間に1行しかないので
Worksheet.Diagonals.Add(Range("C3"),Range("D4")).LineStyle = snsNone
と1行にすることができます。線を消去するときは、線種を指定する必要もないし
線の色を指定する必要もないので、線を描画するときと違って、その分は
コードが少なくなっているというわけです。
(●`ε´●):じゃあ、これをIF文かなんかと組み合わせて条件分岐させるコードを書けば
いいんだな?
【´・ω・`】:うん。
(●`ε´●):確か一番簡単なIF文はこうだったな?!C3に斜線を引くとして
If Range("C3") = "" Then
C3に斜線を引くコード
End If
If Range("C3") <> "" Then
C3から斜線を消去するコード
End If
【´・ω・`】:うん。基本的にはそれでOKだよ。 If 文は
If 条件式 Then
何かの処理をするコード
End If
という書式をとる。条件式が成立すればThenとEnd Ifに
挟まれたコードを実行し、成立しなければEnd Ifの下に
書かれたコードを実行するんだ。
また、セルが空欄か否かは二律背反だから、下のように
コードを書いてもいいんだ。
If Range("C3") = "" Then
C3に斜線を引くコード
Else
C3から斜線を消去するコード
End If
(●`ε´●):条件式が成立するときはThenとElseに
挟まれたコードを実行し、成立しなければElseとEnd Ifに
挟まれたコードを実行するというわけだな。
【´・ω・`】:うん。
(●`ε´●):じゃあ、次回はC3が空欄時には斜線を引く実際のコードを
書いてみるよ。
【´・ω・`】:頑張ってくれ。
(続く)
コメント