条件付き書式で遊んでみる

以前、このような記事を書いた。
infoment.hatenablog.com

今日はこれで、遊んでみようと思う。
f:id:Infoment:20200105201455p:plain

まっさらなシートの1行目で、1行2列ずつセルを結合する。
f:id:Infoment:20200105201631p:plain

何列でも良いが、今回は80列分結合する。
(結果、40個の結合セルが完成する)。

次の行に、一セルずらして同じものを作成する。
f:id:Infoment:20200105201818p:plain

3行目は、1行目と同じものを作成する。
f:id:Infoment:20200105201930p:plain

2行目から、数式をセットする。右斜め上と左斜め上の半分ずつを合計させる。
f:id:Infoment:20200105202040p:plain

左右端はそれぞれ、半分しか受け取れない。反対側が壁だから仕方ない。
f:id:Infoment:20200105202445p:plain

この2行目と3行目のペアを、41行目までコピー&ペースト。
f:id:Infoment:20200105204211p:plain

罫線を消して、列幅を1にする。
f:id:Infoment:20200105204319p:plain

0が少々うるさいので、0を非表示にする。
f:id:Infoment:20200105204425p:plain

最後に、作成した範囲を選択して、条件付き書式を設定する。

Sub Test()
    ' 条件付き書式用変数
    Dim f_Cond  As FormatConditions
    ' 条件付き書式を一旦全て消去。
        Cells.FormatConditions.Delete
    ' 選択範囲の条件付書式を変数にセット。
    Set f_Cond = Selection.FormatConditions

    ' セルの値の大小で、iMax段階の濃淡で着色。
    Dim i As Long
    Dim iMax As Long
        iMax = 10
        For i = 0 To iMax
            f_Cond.Add Type:=1, Operator:=5, Formula1:="=" & i
            f_Cond(f_Cond.Count).SetFirstPriority
            f_Cond(1).Interior.ThemeColor = xlThemeColorLight1
            f_Cond(1).Interior.TintAndShade = 1 - i / iMax
        Next
End Sub

これで1行目の適当なセルに数値を入れると、川の上流で墨汁を垂らしたように段々と薄くなるような模様になった。

入力した値の大きさと、隣との遠近具合で、互いの広がりが混ざり合ったりする。
f:id:Infoment:20200105221432p:plain

試しに自動で流してみたら、こんな感じになった。
f:id:Infoment:20200105222225g:plain

カクカクし過ぎていて、もう少し滑らかさが欲しくもあるが、お遊びなので今回はこんなところで良しとしよう。

参考まで。