Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12652 / 13645 ツリー ←次へ | 前へ→

【9333】リストボックスの利用を基礎から教えてください 若葉マークのPC運転手 03/11/29(土) 14:47 質問
【9334】ワークシートのリストボックスですよね? しのしの 03/11/29(土) 15:56 回答
【9337】Re:ワークシートのリストボックスですよね? 若葉マークのPC運転手 03/11/29(土) 22:56 お礼
【9340】Re:ワークシートのリストボックスですよね? INA 03/11/30(日) 3:37 回答
【9397】Re:ワークシートのリストボックスですよね? しのしの 03/12/2(火) 15:43 回答

【9333】リストボックスの利用を基礎から教えてく...
質問  若葉マークのPC運転手  - 03/11/29(土) 14:47 -

引用なし
パスワード
    リストボックスを表示し、選択した結果を活用する方法を教えていただけないでしょうか?
 WorkSheets(2)の"A1:A5"のデータをリストボックスの項目として表示し、その内容をWorkSheets(1)の"A1"に入れるとともに、これお名前にしてファイルを開きたいのです。
 解説書によると、"A1:A5"のデータをリストボックスで表示するには、

Private Sub リストボックスの表示()
  ListBox1.RowSource = "A1:A5"
End Sub

というように記述されています。
ところが、これをマクロに登録してもマクロリストに上がってきません。
Sub 〜() と Private Sub 〜() の違いなのかなと勝手に想像していますが、まず、この点が分かりません。
また、ほかのマクロの中に、2行目の ListBox1.〜 を記述すると、Objectが見つからないとしかられます。
 今のところ、InputBoxを使ってファイル名を手入力する方法を採っていますが、ファイル名はあらかじめ数種類に決められているものですので、リストボックスで選択する方法がとれればと高望みしています。
以上、ご教授いただければ、とてもありがたいと思います。

【9334】ワークシートのリストボックスですよね?
回答  しのしの  - 03/11/29(土) 15:56 -

引用なし
パスワード
   若葉マークのPC運転手さん

うろ覚えなんですが、
ユーザフォームのリストボックス(RowSourceプロパティあり)
ワークシートに貼り付けるリストボックス
は、違ったと思います。

ご質問の内容からみて、ワークシートに貼り付けてらっしゃるように思います。
その場合は、RowSourceプロパティはないと思います。

> WorkSheets(2)の"A1:A5"のデータをリストボックスの項目として表示し、その内容をWorkSheets(1)の"A1"に入れるとともに、これお名前にしてファイルを開きたいのです。

1)デザインモードにして、該当のリストボックスを選択し、
  右クリックで”プロパティの表示”を選択してください。

2) LinkedCellプロパティに Sheet1!A1 などと指定してください
  (リストボックスと同じシートのセルならシート名は省略できます)

3) ListFillRangeプロパティにSheet2!A1:A5 などと指定してください
  (可変にしたい場合は、名前定義した値を指定しておくのが便利です)

勘違いしてたら、ごめんなさい。

【9337】Re:ワークシートのリストボックスですよね...
お礼  若葉マークのPC運転手  - 03/11/29(土) 22:56 -

引用なし
パスワード
   ▼しのしの さん:
 ありがとうございます。
 シート状のセルに書き込んだファイル名をリスト表示できればと思います。リスト項目(ファイル名)の更新も簡単だと思いますので。
どうにか、教えていただいたところまではたどり着きましたが、その後何をすればよいのか分かりません。
なのに欲を言いますが、ここまでの作業もマクロでできないのでしょうか?
マクロに組み込むまでには、長い道のりのようです。

【9340】Re:ワークシートのリストボックスですよね...
回答  INA  - 03/11/30(日) 3:37 -

引用なし
パスワード
   ユーザーフォームのリストボックスですか?
シート上のコントロールツールボックスのリストボックスですか?
シート上のフォームのリストボックスですか?

【9397】Re:ワークシートのリストボックスですよね...
回答  しのしの  - 03/12/2(火) 15:43 -

引用なし
パスワード
   > シート状のセルに書き込んだファイル名をリスト表示できればと思います。リスト項目(ファイル名)の更新も簡単だと思いますので。
>どうにか、教えていただいたところまではたどり着きましたが、その後何をすればよいのか分かりません。

どこまで、できたのですか?私が書いたのは、
>WorkSheets(2)の"A1:A5"のデータをリストボックスの項目として表示し、
>その内容をWorkSheets(1)の"A1"に入れるとともに、

というところです。
前説のとおり、ListFillRangeプロパティに名前定義した名前を設定することによって、リストの増減にも対応できます。
「=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A)-1,1)」

>......これお名前にしてファイルを開きたいのです。
この部分ができていない、ということでしたら、
この仕様は「名前にしてファイルを開きたい」というのが、
 1.「名前」というフルパスのEXCELブックを開きたい。
 2.「名前」というフルパスのその他ファイルを開きたい。
 3.新規Excelプックを作って、そのフルパスを「名前」と設定したい。
など、様々なケースが考えられるので、お答えしかねます。

また、どのタイミングで(どのイベントで)ファイルを開くのかも重要なところです。
ファイルを開くボタンをシートに追加しそのボタンを押したとき
sheet1!A1の値が変ったとき
ワークシートメニューに追加したコマンドバーボタンを押したとき
既に作成済みのモジュールから呼び出したとき
などです。

>なのに欲を言いますが、ここまでの作業もマクロでできないのでしょうか?
可能ですよ。(ただし、マクロにする意義はわかりかねます)
「ここまでの作業」のどこから、お始めになりたいですか?
シートにリストボックスを追加するところからですか?
それはどのタイミングで行ないますか?

マクロの設計の考え方というのは、実に何通りもの考え方があって、
当然、若葉マークのPC運転手さんと 私では全く違うと思います。
  #今回も私なら、迷わずユーザフォームを使います。
  #モジュールブックとデータブック(リストのあるブック)も分けちゃう。
私の考え方を押し付けるようなことはせず、
できるだけ、若葉マークのPC運転手さんの考えるようにさせていただきたいと
思います。
というか、私どもは単にサポートさせていただくだけで、
お作りになるのは、若葉マークのPC運転手さんですから。

12652 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free