• ベストアンサー

ExcelVBAのユーザーフォームの中に線を引きたい

ユーザーフォームの中に線を引きたいのですが、ツールボックスの中のコントロールには、それらしきものがありません。 ワークシートのように自由に線を引くことは、ユーザーフォームではできないのでしょうか。 できるとしたら、どのようにすればよいのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

水平線であれば、フレームを挿入、文字列なし、高さゼロにしてごまかせますが…。 それ以外の方法ですと、別途ペイントなどで線を引いた画像を作成し、ユーザーフォームの背景に設定するとか。 Accessならば、フォームに線などが引けた気がします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • tak2003
  • ベストアンサー率32% (174/540)
回答No.3

テキストボックスを作画したい場所に設置して、Captionに色々な文字を巧に使うと作画する事ができます。 VBみたいにLineやCircleが使えたら楽なんですけど^^

全文を見る
すると、全ての回答が全文表示されます。
  • pyom
  • ベストアンサー率57% (11/19)
回答No.2

実際問題として質問の趣旨からずれているかもしれませんが...、 ダイアログシートを使えばフォームが作れます。 私が使っているのはEXCEL2000ですが、 シートタブをクリックし、挿入を選び、 MS Excel 5.0ダイアログを選べば、ユーザーフォームと同じようなフォームが作れます。 もちろん線も引ければワードアートも使えます。 実際には過去の仕様を引き継いでいるために残っているものではあるのですが、 使いやすければ使っても良いのではないかと私は思うのですが、どうでしょうか? EXCELのバージョンの記入が無かったので同じことが出来るかどうか判りませんが、 もし参考になればと思って書き込みました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • excel vbaでユーザーフォームに線を書く

    excel vbaでユーザーフォームに線を書きたいのですが (プログラムではなくツールボックスにコントロールを追加し) vbのlineのようなコントロールはあるでしょうか。 環境 Windows XP, Office2003

  • ExcelVBAでユーザーフォームが勝手に閉じてしまいます。

    ExcelVBAでユーザーフォームが勝手に閉じてしまいます。 ExcelVBAを独学で始めてまだ2週間足らずの超初心者です。 Excelワークシートにコマンドボタン配置してそのコマンドボタンを押すとユーザーフォーム1が開き、ユーザーフォーム1に配置してあるリストボックスからリストをダブルクリックで選択すると、ユーザーフォーム2が開くように設定しています。ただ、ユーザーフォーム1のリストをダブルクリックして選択した時点でユーザーフォーム1が勝手に閉じてしまいます。ユーザーフォーム1を勝手に閉じさせないでコマンドボタンで閉じるようにしたいのですがどうしたらよいのでしょうか。レベルの低い質問かもしれませんが困っています。宜しくお願い致します。

  • ExcelVBAのユーザフォームに関する質問です

    エクセル画面のシート1にユーザフォームを呼び出して、そのユーザフォームに設置してあるコマンドボタンを 押下するといくつかのセルの情報をテキストファイルに書き出すプログラムを作ってます。 例えば、 Private Sub CommandButton1_Click() End Sub の間にテキストファイル作成のコードを記述すればうまくいくとは思うのですが、現段階でテキストファイル作成の関数を シート1のワークシートモジュールにprivateな関数として書き込んであります。 その関数の中の引数などもprivateな変数としていくつか宣言してあり、改めて標準モジュールに関数を書き換えて、そこから ボタンイベントの中で呼び出すように作り変えるのは作業として大変に感じられました。 そこで無理かとも思うのですが、シート1のワークシートモジュールの中でコマンドボタンが押されたというイベントを拾って、 そこでファイル作成の関数を呼び出すといった作りに換えることは可能なのでしょうか? 例えばユーザフォーム内に設置したラベルは Userform1.Label1.Top = Userform1.Label1.Top + 10 といったように位置の変更がシート1から制御できたりしますが、そのような要領でできないものなのかなと思いました。 初心者なもので的外れな質問をしてしまっているかもしれませんが、ご容赦ください。 詳しい方がいらっしゃれば、ご教授お願いいたします。

  • ExcelVBAでユーザーフォーム内のリストボックスの設定について

     教えてください、ExcelVBAでユーザーフォーム内にリストボックスを作りました。 複数列・複数行のワークシートデータを参照する設定です。  列は12列で、一番左の列に番号をふってあります。  行は31行で、一行目がタイトル表示してあります。  質問なのですが、このリストボックスは全列・全行表示する大きさでユーザーフォーム内に作成してあるのですが、いざマクロを動かすと幅は問題ないんですが、高さが縮んで自動的にスクロールが表示されます。  ユーザーフォームを大きくしてリストボックスも大きくしてやっても同じです。 このリストボックスの高さを固定させる設定はどうすれば良いでしょうか。

  • そのシートだけのユーザーフォーム

    ユーザーフォームをあるワークシートだけ表示してるときに機能させたいのですがどのようにすればいいのですか? 違うシートを開いたときにはユーザーフォームを実行できないようにして、できれば違うシートを選択した時にはユーザーフォームを消せればいいのですが。

  • ExcelVBAのユーザーフォームでデータ反映方法。

    こんにちは。 詳しい方、お知恵をお貸しください。 Excelのワークシートに保持しているデータを ユーザーフォームのTextBoxに反映させたいのですが どのようにすればよろしいのでしょうか? ◎条件は以下のとおりです。 1.ユーザーフォームを表示させた時、TextBox(s1)にワークシート(ini) のセル(B1)を反映させる。 2.ユーザーフォーム上で編集可能な状態とし、OKボタン押下で TextBox(s1)のデータをワークシート(ini)のセル(B1)に反映・保存。 また、別ユーザーフォームで参照のみ可能な物を作っておりますが、 編集不可能な状態で表示させる方法も教えていただけたら嬉しいのですが。。。 どうぞ、よろしくお願いいたします。

  • ユーザーフォーム上のコンボボックスのリンク先はどうやって指定?

    エクセル97です。ユーザーフォームにおいたコンボボックスに表示させたいワークシート上のリスト、およびコンボボックスで選択された値をリンクさせたいセルの指定方法がわかりません。オプションボタンやチェックボックスのリンク先指定方法もわかりません。またユーザーフォームには「OK」「キャンセル」ボタンもないのでしょうか? エクセル95のときはダイアローグシートにコンボボックスを置き、コントロールの書式設定で簡単に指定が出来たのですが、97に変えてからは、敢えてエクセル5.0のダイアローグを挿入しないといけないようなので、出来ればユーザーフォームで作ってみたいのです。どうかよろしくお願いします。

  • エクセルのユーザーフォームについて

    現在、ワークシートの内容を見やすくするためにユーザーフォームを使用し表示させています。印刷は、ユーザーフォームにコマンドボタンを配置し、ワークシートを印刷しています。 せっかくユーザーフォームで見やすいレイアウトにしているので、表示させた内容をユーザーフォームごと印刷できればと考えています。 画面のハードコピーとかではなくて、コマンドボタンをクリックすることで印刷したいのですが、どなたか教えてください。

  • エクセルVBAユーザーフォーム

    ユーザーフォームに入力後ワークシートへ転記されるのですが、そのカーソルがワークシート側に行ってしまいます。連続して入力したいのですが、ユーザーフォームにもどるようにするにはどうしたらよいのでしょうか? 教えて下さい。よろしくお願いいたします

  • EXCEL ユーザーフォームを使ったマクロ

    データの登録をするのにユーザーフォームを使おうと思うのですが、なかなかうまくいきません。教えてください。 ユーザーフォームにはコンボボックス、テキストボックス、コマンドボタンが貼り付けてあります。(コンボボックスのリストには呼び出したいシートの名前が入っています) コンボボックスのリストの中から呼び出したいシートを選択し、テキストボックスに入力した内容を、コマンドボタンを押すことで選択されたシート上の、あるセルに登録したいのですがどうすればよいでしょうか?