エクセルのオートシェープで「グループ化ではなく、図形の結合」って出来ないですか?
(○と△を合体させて一つの金魚のような図形にすることです。)

VBAを使う方法でもそのようなことが出来ればありがたいのですが、そのサンプルプログラムを探しても見当たりませんでした。
方法知ってる方いましたら教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

「マクロの記録」でコードが採れました。


図形をコピーして「形式を選択して貼り付け」します。
「貼り付ける形式」を聞いてきますから、図の種類(PNGとかJPEG等)を選択して貼り付ければよいです。

Sub Macro1()
Selection.Copy
Range("C5").Select
ActiveSheet.PasteSpecial Format:="図 (PNG)", _
link:=False, DisplayAsIcon:=False
End Sub
    • good
    • 0

グループ化ではいけないのでしょうか。

グループ化した後でも、サイズや色の変更はできますよ。
    • good
    • 0
この回答へのお礼

ありがとうございました。やっぱり無理みたいですね。

お礼日時:2009/05/20 00:56

>図形の結合


概念があいまいです。質問者だけが、ある自分だけに都合の良い例をイメージしているだけです。
あらゆるケースを文章ででも表現してみてください。面倒ですよ。
まして図形の数が増えると、図形の種類が増えると収まりがつきません。論理的に文章化できないものはプログラムで組めません。
MS社がもしエクセルの機能として正式に採り上げるなら、厳密で有用、多用されるもので無いとなりません。
ーー
それより人間がデザインモード時に、直感的位置把握能力で配置したらおしまいでしょう。エクセルは操作で問題を解決するツールです。
VBAはあくまで周辺での応用です。
2図形ぐらいで同じパターンが続く場合などなら、位置関係をプログラムで決定できる場合が有るかもしれない。
図形はVBAで8点のハンドルの四角の左肩上位置(左辺と上辺位置)と幅と高さしか左右できません。
エクセルには例えば不等辺三角形の頂点の1つも捉まえる(座標として)考えか無いようです。
CADソフトなどならそういう考えは必須では無いかと思いますが。
あくまで図形の8点ハンドル内の図形であって、数学のように頂点から割り出したものではない。(線のオートシェイプの多角形はややそれに近いが)
15年前まではエクセルシートは図形を貼り付けることさえ出来なかった。あくまで数値の表の(除くグラフ)お飾り程度のものでしょう。
    • good
    • 0

その図形をコピーしてペイントに貼り付け、名前を付けて保存する。



あるいは、クリップの整理からクリップアートとして使用できるようになります。
下記ページで、「Microsoft Office アプリケーションで作成したオブジェクトを追加する」を参照してください。
クリップ オーガナイザにクリップ アートを追加する
http://office.microsoft.com/ja-jp/excel/HP051922 …

VBAの方法も検討してみます。
    • good
    • 0

どのようなことをされたいのかが分かりませんが


オートシェープを利用して好みの図形を作成し、Excelのシート上に
貼り付けたいのであればペイントブラシの様なお絵かきソフトを
使用されてはいかがでしょうか?

お絵かきソフトで作成した図形をExcelにコピー&ペーストして
Excelの「図」ツールバーの「透明な色に設定」で図形の周りの色を透明にしてあげれば良いのかなと。

全然見当違いでしたら気にしないでください。
    • good
    • 0

こんにちは。


>○と△を合体させて一つの金魚のような図形にすることです。
無理です。
Excelの仕様範囲を超えています。
お絵かきソフトではないのですから。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで図形やオートシェイプの位置がずれるのは仕方ないのでしょうか?

エクセルで図形やオートシェイプの位置がずれるのは仕方ないのでしょうか?
四角形や楕円、オートシェイプなどの図形を文書に載せると、テキストとの位置関係が必ずずれるのですが、これはなんとかならないのでしょか?
バッチリ位置を合わせたつもりでも、印刷したり印刷プレビューで見たりするとずれてしまいます。
どうすればいいでしょか。

Aベストアンサー

残念ですが、どうにもしかたないそうです。
表計算が主な機能であるため、印刷イメージや実際の印刷などでの計算はかなりはしょったソフトなんだそうです。

ただ、対処法が無いわけではありません。
印刷直前の表を、Excel標準の「カメラ機能」で画像としてキャプチャし、新しいシートに貼り付け、それを印刷することで、画面上の表示そのままの印刷が可能です。
ちょっと面倒ですけど。

Qワードやエクセルで線をまっすぐ引く方法

ワードやエクセル、パワポなどで、まっすぐな線を引きたい場合、「挿入」→「図形」で線を引きますよね?
そのときに、いつも微妙に斜めになってしまいます。
十字型になるカーソルでピーっと線を引きますが、途中でぶれて、線が斜めに太くなってしまうというか。。(←わかりますか?)

どうしたら、まっすぐな線を引けますか?
私はいつもは、まっすぐな線を引けたものを何度もコピペして使ったりしてますが、もっといい方法があれば教えてくださいm(_ _)m

Aベストアンサー

既に、正解が出ていますが、図形を描画する、または、修正する場合、「Shift」キーを押しながら操作すると、色々便利なことがあります。

・「直線」を引く時、水平・水平・45度の斜め線が引けます。
・「四角形/長方形」、「円/楕円」などでは、正方形や真円が描画出来ます。

・図形を「拡大」/「縮小」する場合は、「相似形」で拡大/縮小出来ます。

・図形をマウスでドラッグして、「移動」/「コピー」する時、水平/垂直に、「移動」/「コピー」出来ます。
・図形をマウスでドラッグして、「回転」させる時、15度刻みに回転させることが出来ます。

など、色々な場面で試してみて下さい。

なお、Office 2007には、少し問題がありましたので、ご注意下さい。

「Excel2007(エクセル2007)Q&A(Tips):直線(水平線/垂直線)をShiftキーで伸ばすには?」
http://www.eurus.dti.ne.jp/yoneyama/Excel2007/FAQ/line.html

Q別のシートから値を取得するとき

Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!

Aベストアンサー

Worksheets("シートA").Range("A1")

みたいな感じでできませんか?

Qエクセル 表を大きく、紙いっぱいに印刷したい

エクセルで表を作りました。
印刷プレビューで確認したところ
用紙に対して表が小さく見栄えがしません。

一つ一ついじればできると思いますが、
簡単に、
用紙いっぱいにフォントも大きくし、表も大きくし、
印刷するやり方はありますか。
教えてください。

Aベストアンサー

CtrlキーとPのキーを同時に押すと「印刷」ダイアログが呼び出せます。その状態でAltキーとWのキーを同時に押すと「印刷プレビュー」が表示されますので、印刷のイメージがつかめます(必ずしもプレビュー通りには印刷されませんが)
印刷プレビュー画面の上にある、設定のボタンを押してあげれば、余白を少なくしたり、拡大縮小印刷をパーセンテージを指定しておこなえたりします。いずれにせよ、プレビューで確認しながら拡大率を決めていけばいいと思います。なお、「拡大縮小印刷」のところに「次のページ数に合わせて印刷をする」というチェックをいれて横1×縦1にしてあげれば自動で拡大縮小印刷ができる場合がありますが、やってみればわかりますが、特に縮小印刷の場合小さくなりすぎたりする場合もあります。

Qエクセルで多数のシートをまとめる方法

エクセルで10以上あるシートを一発でひとつにまとめる方法はあるでしょうか?

コピー&ペーストを繰り返すしかないのでしょうか…

仕事で明日やらなければならないので、
お分かりになる方、是非教えてください!

Aベストアンサー

まぁ既出回答にもあるように,10数回程度コピー貼り付けすることで,どうという作業ではないとは思います。

さておき。
ご利用のエクセルのバージョンが不明ですが,ご利用のOfficeのバージョンによっては

1.ワードを起動する
2.挿入のファイルからエクセルブックを指定する
3.添付図のようなダイアログが表示されたらラッキー成功です,ブック全体を指定して挿入する
4.Ctrl+Aで全体を選び,コピーして,エクセルの新しいシートに貼り付ける

と一発でできます。
添付図のようにならなかったときは,出来ません。

QSS400とSPCCの違い

SS400とSPCCって,何が違うんでしょうか?
色々インターネットで調べてますが,
いまいちしっくりとした答えにぶつかりません。
今のところの私なりの理解は,

「SS400は,素材の名称で,SPCCは,
 それを使った加工方法」
といったところです。

ちなみに,私はまったくの素人なんです。
よろしくお願いします。

Aベストアンサー

SS400、SPCCも金属材料の種類を示すものです。
SS400とは
一般構造用圧延鋼材(引張り強度400N/mm^2)で、形状は、平板、H鋼、L鋼、など色々あり、一般的に良く用いられる値段の安い材料です。
SPCCとは
一般冷間圧延鋼板のことで、1mm以下~数mmのものが良く用いられます。
材料そのものを曲げたりして使う場合に用いられます。これも安い材料です。
一般的には(私の場合)、板厚3mm以下で曲げ加工をするものはSPCC材を使い、それ以上の厚さが必要なものはSS400を使います。(一般的にSS400材は曲げ加工はしません)
材料に硬さや耐磨耗性などが必要な場合は、上記のような安い材料は使いません。
以上参考にしてください。

QExcel VBA でファイルが開かれているか確認する

ExcelのVBAで、book1.xlsというファイルが現在開かれているか確認するにはどんなプロパティを使えばいいでしょうか?

実際にやりたい事は、book1.xlsに対して処理するマクロがあるのですが、そのbook1.xlsが開かれていなければ処理が出来ないのでマクロが入っているファイルを閉じる。というものです。

Aベストアンサー

Workbookは、Workbooksコレクションによって管理されているので、Worlbooksの中身を列挙することでチェック可能です。

Dim wb As WorkBook
Dim blnFlag As Boolean
For Each wb In Workbooks
  If wb.Name = "book1.xls" Then
    blnFlag = True
    Exit For
  End If
Next

もっと手っ取り早くですと、
Set wb = Workbooks("book1.xls")

これでエラーが発生したら開いていないと判断できます。

ただし、この処理を呼ぶ前にOn Error Resume Nextでエラートラップを無効にしておかないと処理が中断してしまいます。

QエクセルVBAで画像を貼り付ける座標設定方法は?

Sheets("Sheet1")に貼り付けたJ-pegの画像(=シンボルマーク)を別なシートに貼り付けるのは下記のVBAで出来ました。ただ、これでは貼り付け先のシートのセルK12が、貼り付け元のK12と同じ位置でないと思った場所に張り付きません。
そこでセルで場所を指定するのではなく、座標のようなもので指定する方法はないものかと考えた次第です。
オートシェイプなどは座標指定で作成できるのですが、J-pegのような画像はどうすればいいのでしょうか?

Sub TEST()
Sheets("FACE").Shapes("シンボルマーク").Copy
ActiveSheet.Range("K12").Select
ActiveSheet.Paste
End Sub

Aベストアンサー

#1です。
>この場合、ファイルをエクセルにくっつけて渡すなんてこと
>はできないものでしょうか?(別々にではなくあくまでエク
>セルのブックに付属した形で)
Excelのブックに付属した形にするなら、コピーペーストする方がいいと思います。一旦挿入した画像を別途保存するのは、簡単には出来ないと思います。

複数のシートで同じような作業をするなら、次のような方法も考えられます。
Function CpyMrk(MrkNM As String, myTop As Single, myLeft As Single)
Sheets("FACE").Shapes(MrkNM).Copy
ActiveSheet.Paste
ActiveSheet.Shapes(MrkNM).Top = myTop
ActiveSheet.Shapes(MrkNM).Left = myLeft
End Function

Sub test()
CpyMrk "シンボルマーク", 10, 10
End Sub

Qエクセルにテキストボックスを貼り付けて印刷すると、表示どおり印刷できない

エクセルにテキストボックスを貼り付けて印刷すると、最後の行が切れたり右端の部分が勝手に改行したりしてうまく印刷できません。たぶん私の操作がだめなんでしょうが。表示はきちんとできているのに、印刷するとそうなるのでプレビューを見ていちいちなおしています。ストレスがたまります。何をどう直したらよいのでしょうか。

Aベストアンサー

#1 です。

残念ながらこれ以上の策はないと思います。
何せ Windows の中で異なる 2 つの描画機能が働いていることによる不整合ですので、これは Windows そのものが仕組みを変えない限り解決しません。
他方、Apple 社の Macintosh では、印刷に関しては OS の開発段階から WYSWYG(What You See is What You Get = 画面で見ているものが、そのまま成果物(印刷物)になる)の考え方が貫かれており、私の知る限りでは Windows 上の印刷結果よりはるかにまともなものが得られます。

Qcellsで特定の離れた範囲を選択する方法は?

例えば、A1からC4までと、E6からG10までというように、離れた範囲を同時に選択したい場合、cells(i,j)方式で指定するにはどうしたらいいのでしょうか?
Range(Cells(1, "A"): Cells(4, "C"), Cells(6, "E"): Cells(10, "G")).Select
など色々試しているもののうまくいきません。
どなたかご教授いただければ幸いです。

Aベストアンサー

#1の補足について。
#1のご回答のポイントは、カンマで区切って並べれば良いと言うことです。
だからCellsでやりたいならば、Rangeの中でCellsを使って出きると思ったが、上手く行かないので、取りあえず下記でやった
Sub test05()
Union(Range(Cells(1, "A"), Cells(4, "C")), Range(Cells(6, "E"), Cells(10, "G"))).Select
End Sub


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報