[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ひとつのセルに2色の色をつける』(なな)
ひとつのセルにセルの書式設定で罫線を斜めに入れた時に 半分ずつ色を塗る事は出来ますか? わかりにくい文章でごめんまさいm(__)m
昔このような回答をした方がいました。↓ (#REF!MAN) [[20040607182432]]『セルの斜め半分塗りつぶし』(YUTOMAMA)
外字で作成 フォント色設定(条件書式等併用可) (外字)
色を塗るには、その色が入れられる『形』が必要になります 斜線を入れても、セルが二つに分かれるわけではないので 塗ることはできないと思います
ただ、オートシェイプ等を利用して、『塗られている』様に 見せかける事は可能だと思います
私がやるとしたら、オートシェイプの『直角三角形』を使用 ALTを押しながら作成すると、セルに吸着します 二つの『直角三角形』上に文字を入れるなら、 テキストボックスを塗り無しで重ねるか、塗りを『透明』で設定 一つずつなら『テキストの追加』から入力 周りの罫線無しで斜線のみにしたいなら、『直角三角形』の線無しで 斜線をオートシェイプの『直線』で描画
(Ohagi)
マクロで作ってみました。 希望のセルを選択してマクロ実行で2色に綺麗に分割着色します。 左下が三角で,色混在ですので少し色が汚くなりますが 我慢です。 反対側斜線は難しいです。 オートシェイプの『直角三角形』の配置がそうなっているからです。
好きな色,透明度にコードの数値を調整ください。
進展して,選択範囲全体を着色できるようにも,次に挑戦してみます。
(夕焼)
Sub セル斜線分割2色着色() hi = 1# ' 楕円高さのセル高さ倍率1.5位,適宜変更可能 awide = ActiveCell.Width aheight = ActiveCell.Height aleft = ActiveCell.Left atop = ActiveCell.Top ActiveSheet.Shapes.AddShape(msoShapeRightTriangle, aleft, atop, awide, aheight * hi).Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 7 '左下の色設定番号(混色) Selection.ShapeRange.Fill.Transparency = 0.73 '左下の色透明度
Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoFalse
ActiveSheet.Shapes.AddShape(msoShapeRectangle, aleft, atop, awide, aheight * hi).Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10 '右上の色設定番号 Selection.ShapeRange.Fill.Transparency = 0.9 '右上の色透明度 Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoFalse Range("I12").Select
End Sub
指定範囲全体に対して処理できます。 範囲を選択(ドラッグして,反転色状態)して,マクロを実行ください。 ちなみに,下のマクロは,一括で色を解除します。 (夕焼)
Sub 範囲セル斜線分割2色着色()
For Each c In Selection
hi = 1# ' 楕円高さのセル高さ倍率1.5位,適宜変更可能 awide = c.Width aheight = c.Height aleft = c.Left atop = c.Top
ActiveSheet.Shapes.AddShape(msoShapeRightTriangle, aleft, atop, awide, aheight * hi).Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 7 '左下の色設定番号(混色) Selection.ShapeRange.Fill.Transparency = 0.73 '左下の色透明度
Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoFalse
ActiveSheet.Shapes.AddShape(msoShapeRectangle, aleft, atop, awide, aheight * hi).Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10 '右上の色設定番号 Selection.ShapeRange.Fill.Transparency = 0.9 '右上の色透明度 Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoFalse Range("I12").Select
Next
End Sub
------------
Sub 全セル2色着色解除()
an = ActiveSheet.Shapes.Count
For i = an To 1 Step -1
ActiveSheet.Shapes(i).Delete
Next
End Sub
上の方法ではセルに2色付きますが,セルをクリックすると オートシェイプが選択されて,データを素直に打ち込めない ですね。(夕焼)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.