• ベストアンサー

「シートを最前面」にしたいのです…。

 VBA初心者です。(エクセル2003を使用)標題のとおりなのですが,画面いっぱいを占めるフォームの手前に,画面の7割ほどを占めるシートを表示しておいて,両方の画面を同時に使えるようにしたいのですが上手くいきません。  フォームの手前にシートを表示することはできないのでしょうか?良い方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。KenKen_SP です。 Microsoft Office Spreadsheet x.x コントロールを使うとか。 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_100.html

mako314
質問者

お礼

 ありがとうございます(涙)。目からウロコでした。日曜日も,本屋でいろいろ調べたのですが,見つけることが出来ず,「無理なのかな」と思っていたところです。目の前が急に開けた感じでした。  あと,もう一点だけ疑問なのですが,僕が考えていたことは,『シート上に作成した,「フリーフォームで作成したオートシェイプ」を操作したい』ということなのですが,スプレッドシート上にオートシェイプを貼り付けることは可能なのでしょうか?

その他の回答 (2)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

> スプレッドシート上にオートシェイプを貼り付けることは可能なのでしょうか? 不可能だと思います。Spreadsheet コントロール自体が Excel のワークシート を完全にシミュレートしたものではありません。つまり、、どちらかと言えば、 できないことの方が多いです。「よく似ているけど、別物」と位置づけた方が 良いでしょう。 Spreadsheet コントロールの上に Image コントロールを重ねて擬似的に表現で きないか試してみましたが、Zオーダー(コントロールの上下関係)を設定できず 失敗に終わりました。 Spreadsheet コントロール上でなければ、シェープを画像に変換することで、 Image コントロールに画像として読み込むことは可能です。

mako314
質問者

お礼

 何度もご回答ありがとうございました。 いただいたヒントをもとに,試行錯誤しながら進みます。

回答No.1

現在はユーザーフォームが表示されているとユーザーフォームしか操作できなくて、シートを操作できない。 ユーザーフォームが表示されていてもシートを操作できるようにしたい。 という技術的な部分については、ユーザーフォームのモーダル、モードレス、について調べてみてください。幸せになれます。 フォームの位置とサイズ、シートの位置とサイズを指定するのはできますよね?

mako314
質問者

お礼

ご回答ありがとうございます。 僕の質問の仕方が良くなかったのですが,「シートがあるウィンドウ」の上に「フォーム」が重なっているのが通常ですが,全画面サイズの「フォーム」の上に「シートのウインドウ」を小さくして表示したいのです。  何度も申し訳ありませんが,よろしければ教えてください。

関連するQ&A