
こんにちは。
エクセルで寸法を入力するとその数値に従った
図形を描きたいのですが
例えば四角形の場合
A1に「100」(縦の寸法)
B1に「200」(横の寸法)
と入力すると100*200の長方形が描ける。
といった具合です。
とりあえずココまでは「グラフ」を使ってできました。
問題は寸法も入れたいのです。
縦の線の横に「100」、横の線の上に「200」
と表示させたいのですがこれが出来ません。
現在はテキストボックスを作成して寸法を書いていますが
これだと
1、寸法が変わるといちいち手作業で書き換えないといけない
2、寸法が変わると図形に合わせて手作業で動かさないといけない
というのが不便です。
なんとか図形が変わるとそれに連動して数値と場所が
変更されるようには出来ないでしょうか?
No.3ベストアンサー
- 回答日時:
2.についてグラフには一つの形式のラベルしか設定できません。
そのため、X軸とY軸のデータラベルを分ける必要があるのでグラフを2個にする必要があります。そこで、グラフを構成するデータをもう一つ作ります。
同じデータを持ったものを作りグラフを作るのです。これがデータの追加となります。(グラフを2個重ねます。そうすると見た目には一つのグラフになります。)これは、同じデータ(座標を持ったもの)をもった表を2個作り、それぞれの同じグラフを作るのです。
これは、一つのデータについてデータラベルが同じ形式でしか付かないため、X軸とY軸のデータラベルを分けて表示できないためにラベルを2種類にするためにそれぞれのグラフにラベルを設定するために2個のグラフを重ねます。)
一つのデータグラフにX軸のデータ、そしてもう一つのグラフにY軸のデータを表示させるのです。
1.については、完全に中央とは行きません。基本的にX軸は右下のデータのラベルですから、右下に近くなります。中央近くについては、少し難しいですが、X軸について言うと、データラベルの位置を左にして、その上に横位置を左寄せにすれば中央に近くなります。
今の私の知識から言うと、ほぼMAXですかね。もし、私がこのようなことをするなら、CADを使ってしまいますが。(これも我流ですが。)CADもフリーのソフトが有りますから。
お返事遅くなりました。すいません。
分り易いレスありがとうございます。
X軸とY軸の値のラベルを作る為に2つのグラフを
作るんですね。
昨日作業していて気がついたのですが、ラベルにも
数式を入力することが出来ますよね。
これを使ってラベルに直接セルの値を入れるように
するとグラフも一つで済むようです。
ラベルの位置も手動で動かせたのである程度中央に
持っていくことができました(長さが変わるとズレ
ますが…)
当方もCADは使っているのですが今回は計算書を作成
していまして(擁壁の計算書です)、擁壁の寸法や
その他の設計条件を入力すると、全部計算してくれる。
というのを作っています。
ということでなんとかエクセル上で図を描きたかった
次第です。
度々ありがとうございました。
No.4
- 回答日時:
エクセル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組の数値のはずです。
おおっ…VBAですね。。
私がずっと見て見ぬ振りをしていた…(^^;
VBAは過去何度かチャレンジしてはみたのですが
その度に挫折してきました。
今まではVBAを使わなくてもなんとかなったので
良かったのですが、今回初めて「やっぱりVBAやっとけば
良かったな~」と実感しています。
これを気にもう一度チャレンジしてみようかな(^^;
ありがとうございました。
No.2
- 回答日時:
一瞬グラフ?と思いましたが、散布図で描いたのでしょうか。
テキストボックスの使用であればNo1の方の言われているようにセルの参照を使えばリンクは出来ます。この場合、テキストボックスを作り、数式バーをクリックして=から入力すれば(テキストボックスに直接では駄目です。)しかし、これだとテキストボックスは固定位置になります。
後は、少し複雑になりますがデータラベルを使用する方法があります。グラフオプションからデータラベルをつけ、必要以外のデータラベルをクリアし、一つにします。後は位置フォントなどを調整して下さい。
次に元のデータからもう一つ同じデータのグラフを追加します。これに又データラベルを追加してもう一つのラベルを作ります。
これで、2つのラベルが表示されます。これなら、グラフの大きさが変わっても位置は自動的に移動し、データも自動で変更できます。
この回答への補足
すいません。。
データラベルの方法なんですが、ちょっと分りませんでした。
とりえず
データラベル表示、いらないラベルをクリア。
というところまで出来ました。
1、データラベルはポイント(座標)の近くに表示されますが
これを(四角形の)辺の中央辺りにもってくることは可能でしょうか?
2、「次に元のデータからもう一つ同じデータのグラフを追加します。これに又データラベルを追加してもう一つのラベルを作ります。」
というのが分らなかったのですが、どう言う意味でしょうか?
なぜもう一つ作るのか?というのが分りませんでした(^^;
すいませんが、お時間があればお願い致します。
ありがとうございます。
図形は寸法の入力値から座標を出して、その座標を
散布図のグラフで作ってます。
>テキストボックスに直接では駄目です。
お察しの通りコレでやってました(^^;
できないわけだ…
>これだとテキストボックスは固定位置になります。
そうなんです。これが一番解消したい問題です。
データラベルは知りませんでした。
今作業中なので教えて頂いた方法を試してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【画像あり】【関数】指定した...
-
エクセルでフィルターした値を...
-
エクセルシートの見出しの文字...
-
エクセルに写真が貼れない(フ...
-
vba テキストボックスとリフト...
-
【マクロ】【配列】3つのシー...
-
他のシートの検索
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
【マクロ】excelファイルを開く...
-
エクセルのライセンスが分かり...
-
Excelに貼ったXのURLのリンク...
-
セルにぴったし写真を挿入
-
【関数】=EXACT(a1,b1) a1とb1...
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
Excelで4択問題を作成したい
-
【マクロ】【画像あり】❶ブック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報