アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
エクセルで寸法を入力するとその数値に従った
図形を描きたいのですが

例えば四角形の場合
A1に「100」(縦の寸法)
B1に「200」(横の寸法)
と入力すると100*200の長方形が描ける。
といった具合です。

とりあえずココまでは「グラフ」を使ってできました。
問題は寸法も入れたいのです。
縦の線の横に「100」、横の線の上に「200」
と表示させたいのですがこれが出来ません。

現在はテキストボックスを作成して寸法を書いていますが
これだと
1、寸法が変わるといちいち手作業で書き換えないといけない
2、寸法が変わると図形に合わせて手作業で動かさないといけない
というのが不便です。

なんとか図形が変わるとそれに連動して数値と場所が
変更されるようには出来ないでしょうか?

A 回答 (4件)

2.についてグラフには一つの形式のラベルしか設定できません。

そのため、X軸とY軸のデータラベルを分ける必要があるのでグラフを2個にする必要があります。
そこで、グラフを構成するデータをもう一つ作ります。
同じデータを持ったものを作りグラフを作るのです。これがデータの追加となります。(グラフを2個重ねます。そうすると見た目には一つのグラフになります。)これは、同じデータ(座標を持ったもの)をもった表を2個作り、それぞれの同じグラフを作るのです。
これは、一つのデータについてデータラベルが同じ形式でしか付かないため、X軸とY軸のデータラベルを分けて表示できないためにラベルを2種類にするためにそれぞれのグラフにラベルを設定するために2個のグラフを重ねます。)
一つのデータグラフにX軸のデータ、そしてもう一つのグラフにY軸のデータを表示させるのです。
1.については、完全に中央とは行きません。基本的にX軸は右下のデータのラベルですから、右下に近くなります。中央近くについては、少し難しいですが、X軸について言うと、データラベルの位置を左にして、その上に横位置を左寄せにすれば中央に近くなります。
今の私の知識から言うと、ほぼMAXですかね。もし、私がこのようなことをするなら、CADを使ってしまいますが。(これも我流ですが。)CADもフリーのソフトが有りますから。
    • good
    • 0
この回答へのお礼

お返事遅くなりました。すいません。
分り易いレスありがとうございます。

X軸とY軸の値のラベルを作る為に2つのグラフを
作るんですね。
昨日作業していて気がついたのですが、ラベルにも
数式を入力することが出来ますよね。
これを使ってラベルに直接セルの値を入れるように
するとグラフも一つで済むようです。

ラベルの位置も手動で動かせたのである程度中央に
持っていくことができました(長さが変わるとズレ
ますが…)

当方もCADは使っているのですが今回は計算書を作成
していまして(擁壁の計算書です)、擁壁の寸法や
その他の設計条件を入力すると、全部計算してくれる。
というのを作っています。
ということでなんとかエクセル上で図を描きたかった
次第です。

度々ありがとうございました。

お礼日時:2004/03/05 10:11

エクセルVBAですが


VBE画面のVBAProjectのSheet1をダブルクリックし、ワークシートのChangeイベントを出して、その画面に、下記をコピーし貼りつけ、A1セルやB1セルの数値を変えてみてください。
四角の大きさ
寸法の数値と位置(縦横2箇所)
が即座に変ります。
Private Sub Worksheet_Change(ByVal Target As Range)
'MsgBox Target.Address

If Target.Address = "$A$1" Or Target.Address = "$B$1" Then
ActiveSheet.DrawingObjects.Delete
a = Cells(1, "A")
b = Cells(1, "B")
ActiveSheet.Shapes.AddShape msoShapeRectangle, 200, 100, a, b
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 200 + a / 2 - 15, 100 - 20, 30, 20). _
Select
Selection.ShapeRange.Line.Visible = msoFalse
Selection.Characters.Text = Cells(1, "A")
'-----
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 200 + a + 15, 100 + b / 2 - 20 + 10, 30, 20). _
Select
Selection.ShapeRange.Line.Visible = msoFalse
Selection.Characters.Text = Cells(1, "B")
End If
End Sub
仕事には使い物にならないかもしれませんが、イメージは
こんなものでしょう。
上記のコードの中のmsoShapeRectangleの次の4組の数値をいろいろ変えて、適当なものを見つけてください。定数倍をかけたり、値を増減するといろいろ変ります。
その()内の数値は
左より距離
トップからの距離
図形の幅
図形の高さ
の4組の数値のはずです。
    • good
    • 0
この回答へのお礼

おおっ…VBAですね。。
私がずっと見て見ぬ振りをしていた…(^^;

VBAは過去何度かチャレンジしてはみたのですが
その度に挫折してきました。
今まではVBAを使わなくてもなんとかなったので
良かったのですが、今回初めて「やっぱりVBAやっとけば
良かったな~」と実感しています。

これを気にもう一度チャレンジしてみようかな(^^;
ありがとうございました。

お礼日時:2004/03/05 10:15

一瞬グラフ?と思いましたが、散布図で描いたのでしょうか。


テキストボックスの使用であればNo1の方の言われているようにセルの参照を使えばリンクは出来ます。この場合、テキストボックスを作り、数式バーをクリックして=から入力すれば(テキストボックスに直接では駄目です。)しかし、これだとテキストボックスは固定位置になります。
後は、少し複雑になりますがデータラベルを使用する方法があります。グラフオプションからデータラベルをつけ、必要以外のデータラベルをクリアし、一つにします。後は位置フォントなどを調整して下さい。
次に元のデータからもう一つ同じデータのグラフを追加します。これに又データラベルを追加してもう一つのラベルを作ります。
これで、2つのラベルが表示されます。これなら、グラフの大きさが変わっても位置は自動的に移動し、データも自動で変更できます。

この回答への補足

すいません。。
データラベルの方法なんですが、ちょっと分りませんでした。
とりえず
データラベル表示、いらないラベルをクリア。
というところまで出来ました。

1、データラベルはポイント(座標)の近くに表示されますが
これを(四角形の)辺の中央辺りにもってくることは可能でしょうか?

2、「次に元のデータからもう一つ同じデータのグラフを追加します。これに又データラベルを追加してもう一つのラベルを作ります。」

というのが分らなかったのですが、どう言う意味でしょうか?
なぜもう一つ作るのか?というのが分りませんでした(^^;

すいませんが、お時間があればお願い致します。

補足日時:2004/03/04 18:29
    • good
    • 0
この回答へのお礼

ありがとうございます。
図形は寸法の入力値から座標を出して、その座標を
散布図のグラフで作ってます。

>テキストボックスに直接では駄目です。

お察しの通りコレでやってました(^^;
できないわけだ…

>これだとテキストボックスは固定位置になります。

そうなんです。これが一番解消したい問題です。
データラベルは知りませんでした。
今作業中なので教えて頂いた方法を試してみます。

お礼日時:2004/03/04 17:05

テキストボックスを選択し、数式バーに「=A1」のようにセル参照式を入力し、Enterを押します。


A1には寸法となる数字を表示させてはいかがでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。
数式バーに入力すれば数式参照できるんですね。

ずっとテキストボックスに数式を入力してました(^^;
不便だな~って思ってたんですがやっぱり出来るんですね。

お礼日時:2004/03/04 16:58

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

このQ&Aを見た人はこんなQ&Aも見ています