
エクセル97です。ユーザーフォームにおいたコンボボックスに表示させたいワークシート上のリスト、およびコンボボックスで選択された値をリンクさせたいセルの指定方法がわかりません。オプションボタンやチェックボックスのリンク先指定方法もわかりません。またユーザーフォームには「OK」「キャンセル」ボタンもないのでしょうか?
エクセル95のときはダイアローグシートにコンボボックスを置き、コントロールの書式設定で簡単に指定が出来たのですが、97に変えてからは、敢えてエクセル5.0のダイアローグを挿入しないといけないようなので、出来ればユーザーフォームで作ってみたいのです。どうかよろしくお願いします。
No.5ベストアンサー
- 回答日時:
こんにちは。
エラーが出てしまったようですね。エラーは、ブック名とシート名の大文字・小文字・全角・半角の違いによって起こっていると思われます。まず、ブック名をブック1・シート名をシート1と変更してRowsourceプロパティーに次のように入れてみて下さい。[ブック1.xls]シート1!A1:A10
1は、A全角でも半角でもどちらでもかまいませんが、もし全角でブック名を指定したのであれば、ローソースプロパティーも全角で入力します。これで、動作するはずです。
>また、ユーザーフォームではなく、ワークシート上にComboBoxを置いた場合、プロパティウィンドウのには「RowSouce」の表示はなくなり、「ListFillRange」の右隣に表示したいセル番地を a1:a10 のように入れれば表示され、ComboBoxで選択した値は「LinkedCell」の右隣に入れたセル番地(たとえば e5)に表示されますよね?
この「LinkedCell」にあたるのはユーザーフォーム上のComboBoxのプロパティウィンドウではどこなのでしょうか?No3で書かれたようなマクロを記述するしかないのでしょうか?
フォームオブジェクトは、どうも「LinkedCell」プロパティーに変わるプロパティーを持っていないようです。私は、コードを書く以外方法がないと思います。
ありがとうございました。
今度は大丈夫でした。
原因はセル番地でa1:a10と書いたことのようです。A1:A10でOKでした。
助かりました。
No.4
- 回答日時:
問題を理解できてないかもしれませんが、
ワークシートに直接貼り付けたコンボボックスと同じ
だと思いますが、コントロール(この際コンボボックス)
を右クリックし、プロパティをクリック。LinkedCellと
ListFillRangeがありますが、ここにRange(B1とかA1:A10とか)を入れて試して、実見してみてください。察するに、質問がVBAベースでの事でなく、操作ベースのことなのではないのでしょうか。
リストボックスもオプションボタンもチェックボックスもLinkedCellがプロパティにあります。後者2者はTrue
かFalseで値がセットされると思います。
早速ありがとうございます。
ワークシート上にComboBoxを置いた場合はそうでした。
しかしユーザーフォーム上に置いた場合は、プロパティウィンドウのには「ListFillRange」や「LinkedCell」の表示はないんです。「ListFillRange」にあたるのが「RowSouce」だろうとはNo1の方の回答で推測できましたが、「LinkedCell」にあたるのはユーザーフォーム上のComboBoxのプロパティウィンドウではどこなのでしょうか?
No.3
- 回答日時:
すみません。
間違えて回答ボタンを押してしまいました。>コンボボックスで選択された値をリンクさせたいセルの指定方法がわかりません。
Workbooks("ブック名.xls").Worksheets("シート名").Range("セル番地").value = フォーム名.コンボボックスのオブジェクト名.text
例えば、商品というブックのシート1のA3にコンボボックスの値を代入したい時は、
Workbooks("商品.xls").Worksheets(1).range("A1").value = Userform1.combobox1.Text
これを続けて書いて下さい。指定したセル番地にコンボボックスの値が入力できます。
頑張ってみて下さい。
No.2
- 回答日時:
すみません。
間違えて回答ボタンを押してしまいました。>コンボボックスで選択された値をリンクさせたいセルの指定方法がわかりません。
Workbooks("ブック名.xls").Worksheets("シート名").Range("セル番地").value = フォーム名.コンボボックスのオブジェクト名.text
これで、指定したセル番地にコンボボックスの値が入力できます。
頑張ってみて下さい。
No.1
- 回答日時:
初めまして。
まずコンボボックスにデータをリンクさせる方法は、次のように操作します。
・フォーム上のコンボボックスをクリックし選択した状態で、画面左下にプロパティーウインドウ(もし表示されていない時は、VBE画面のメニューバーの表示→プロパティーウインドウを順にクリック)のRowSourceプロパティーの右側にリンクさせたいセル番地を入力する。
リンクさせたいセルがA1~A50の時
[ブック名]シート名!A1:A50と入力する。
>オプションボタンやチェックボックスのリンク先指定方法もわかりません。
この意味がよく理解できません。オプションボタンやチェックボックスを何とリンクさせたいのか教えて下さい。
>またユーザーフォームには「OK」「キャンセル」ボタンもないのでしょうか?
これは、コマンドボタンを貼り付けて自分で作ればいいのです。フォームには、コントロールを自分で配置しなければなければなりません。
後、よくVBAのことが理解できていないようですが、非常に詳しくかつ解りやすく説明してある本があるのでご紹介いたします。
簡単プログラミングエクセル2000VBA(基礎編・関数偏・応用編)
著者:大村あつし 出版社:技術評論者
この本は、ラオックスなどパソコンを扱っているショップの書籍コーナーにあると思います。一度ご覧になって見て下さい。
早速ありがとうございます。
ユーザーフォーム上のComboBox1を選択し、プロパティウィンドウの「RowSouce」の右隣に、半角小文字 [book1.xls]sheet1!a1:a10 と入れてみましたが、「Row Souceプロパティを設定できません。プロパティの値が不正です。」となってしまいます。
何がまずかったのでしょうか?
また、ユーザーフォームではなく、ワークシート上にComboBoxを置いた場合、プロパティウィンドウのには「RowSouce」の表示はなくなり、「ListFillRange」の右隣に表示したいセル番地を a1:a10 のように入れれば表示され、ComboBoxで選択した値は「LinkedCell」の右隣に入れたセル番地(たとえば e5)に表示されますよね?
この「LinkedCell」にあたるのはユーザーフォーム上のComboBoxのプロパティウィンドウではどこなのでしょうか?
No3で書かれたようなマクロを記述するしかないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) コントロールにリンクするセルが選択されない 3 2022/06/12 14:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Office2021のエクセルで米国株...
-
Excelの「0」だけ非表示、小数...
-
Excelシートの保護時にデータの...
-
エクセルで条件に一致したセル...
-
Excelで複数シートの選択セルを...
-
ExcelでTODAY関数を更新させな...
-
EXCELのハイパーリンクのセルを...
-
エクセル マクロ ボタンを押...
-
エクセルで1月0日と表示される!!
-
Excelでスクロールすると文字が...
-
別シートのセルを絶対参照にする
-
エクセルで、加筆修正したセル...
-
エクセル ハイパーリンクで画像...
-
iPhoneのExcelアプリで、別のシ...
-
複数シートの同じセル内容を1シ...
-
エクセルでセルの移動について
-
Rangeメソッドは失敗しました。...
-
エクセルで特定のセルの値を別...
-
VBAでシート全体の塗りつぶしを...
-
条件書式でリスト内以外の単語...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneのExcelアプリで、別のシ...
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
Excelシートの保護時にデータの...
-
エクセルで条件に一致したセル...
-
エクセルで1月0日と表示される!!
-
日付が未入力の際はゼロか、空...
-
ExcelでTODAY関数を更新させな...
-
EXCELのハイパーリンクのセルを...
-
別シートのセルを絶対参照にする
-
Excelでスクロールすると文字が...
-
複数シートの同じセル内容を1シ...
-
マクロ 新しいシートにデータ...
-
エクセルで複写のように自動入...
-
エクセルで、加筆修正したセル...
-
エクセル ハイパーリンクで画像...
-
ハイパーリンク で『指定された...
-
エクセルで20万行あるシート...
-
エクセルで特定のセルの値を別...
-
INDIRECT(空白や()がある文字列...
おすすめ情報