重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!gooアプリ版

通常のグラフの機能を使用するのではなく
セルに着色またはハッチングパターンを自動的に記入する方法を教えて下さい
例えばA11に1の数字が入っていたら、A1からA10まで10マスが塗られます。
B11に5の数字が入っていたら、B6からB10までが。C11が1だったらC10が一マスだけ着色されます。
つまり11行めに入った数字を読み取り、同じ列の1から10までを棒グラフエリアとして10行目をベースに上に塗っていき、あたかも棒グラフの様な表現にしたいのです。
宜しくお願いします。

A 回答 (6件)

VBAでやるなら


11行目に計数があるとして
Sub test02()
n = 1
For j = 1 To 10
For i = 1 To Int(Cells(11, j) / n)
Cells(10 - i + 1, j).Interior.ColorIndex = 5 '青
Next i
Next j
End Sub
A列からJ列(第10列)までの例です。
n=1の1は最高値の10分の1を指定するとかして
全列1から10に収まるような計算を考えて、nを決めてください。異常に大きい列の値は、頭打ちの値を考える
必要もあるかも知れません。
    • good
    • 0
この回答へのお礼

imogasiさん再度ありがとうございます
このVBA単純明快で初級者のわたしにも理解しやすいです。

予めセルをいじらなくてもいいので
重宝します。
前回もVBAでお世話になっていたことを思い出しました。
ありがとうございました。

お礼日時:2003/07/09 14:30

参考までにですがrept関数というのがあります。


=REPT("■",A11)
でA11に6という数字が入っていたなら「■■■■■■」という風になります。書式設定の配置で方向を90度にするなどしてやればグラフのように見えます。
    • good
    • 0
この回答へのお礼

nihonlinnさんありがとうございます
求めていた回答にもっとも近いです

REPT関数は知っていました。
水平ならすでに自分でも解決していたんです
なるほど~“書式で90°”は気がつきませんでした
早速やってみました
残念ながらセルをまたいで上に表示してくれません
セルの高さを高くすれば表示されますが、本来の意図と食い違います
水平だとセルをまたいでいくらでも右に伸びていってくれるんですが・・・
がんばってみます

お礼日時:2003/07/09 13:46

何の仕込みもなしに、表示させることはできないと思いますが。



条件付き書式設定がだめなら、関数を入れて、ある数値以上なら文字表示するとか。。。
でも、これも仕掛けですよね。

セルに仕込みたくないなら、VBAですが、
くわしい方の回答を待たれては?
    • good
    • 0
この回答へのお礼

Mozisanさん 再度ありがとうございます

確かにVBAかもしれません

お礼日時:2003/07/09 13:39

(サンプル・データ)


A11=2、B11=3、C11=6、D11=4
E11=5、F11=6とか
(書式の設定)
(1)A1:A10を範囲指定する。
(2)書式-条件付き書式-数式が-(数式ボックスに)
=ROW(A1)+A$11>10と入れる。A$11のAの前には
$を入れないこと。
(3)書式-パターン-セルの色を指定(例で赤)-OK-OK
(4)これでA9:A10が赤色になります。
(書式の複写)
A1:A10を範囲指定しておき、右下隅の+をF10まで引っ張る。
(結果)これでB11からF11までの数に応じてセルの
数だけセル10から上に色が付きました。
後は列幅を統一すれば良い。
    • good
    • 0
この回答へのお礼

imogasiさんありがとうございます

#1さんのやりかたと比較すればこの方が効率がいいのかも知れません
“条件付き書式”もこうやって使うことができるのですね
助かりました!

お礼日時:2003/07/09 14:21

メニューバー「書式」-「条件付き書式」を使います。


「セルの値が」を「数式が」に変え、右のテキストボックスに「=$A$11>=1」(A10の場合)と入力し、「書式」ボタンをクリック、「パターン」タブでセルの塗りつぶしを設定します。
11行の数値で各列にグラフ化したいなら、$A$11をA$11としておいて、A列の1~10まで設定後、B列以降にコピー、ペーストすれば良いかと思います。
    • good
    • 0
この回答へのお礼

素早い回答ありがとうございます

予めセルに仕掛けを作っておかずに済む方法はないでしょうか?

お礼日時:2003/07/08 20:50

なぜ、グラフを使わないのか良く分かりませんが、以下の方法で可能かと。

(但し、手間がかかりますが。)
A1からA10までの各セルに条件付書式を設定すればできます。
A1セルに「数式が」を選択して数式を「=$A$11>=10」とし、書式を設定。以下A2セル以降10を一つずつ数値を減らした、同じ条件付書式を設定する。
B列以降$A$11を$B$11に変更して、同様に。
    • good
    • 0
この回答へのお礼

素早い回答ありがとうございます
グラフを作るのがメイン目的ではなく、
巨大な商品受発注表の特定のセルの数値の大きさを
イメージ化するために数字の上のセルを塗りたいのです。
予めセルに仕掛けを作っておかずに済む方法はないでしょうか?

お礼日時:2003/07/08 20:48

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