最新閲覧日:

以下の質問について、至急、回答をください。お願いします。

質問1)
出荷.xlsというBookが存在します。その中に、"出荷リスト"というシートがあり、A列に商品コード、B列に商品名が重複して多数存在します。各列に、オートフィルタをかけ、▼をクリックした時に表示されるリストをフォームのコンボボックスに表示させる方法。

質問2)
フォームのコンボボックスに表示された任意の商品コードを選択時に、テキストボックスに選択された、商品コードの商品名を表示させる方法。

※できれば、コードを記述していただくとありがたいのですが・・・

A 回答 (3件)

Excel97なら、


rc = 0: ReDim SyohinName(0) '商品名をクリア
の次に、
ws.Activate: Range("A1").Select
を入れてみてください。
    • good
    • 0
この回答へのお礼

補足を投稿した後、自分なりに予期せぬエラーの原因を追求してみました。UserFormのRowSourceプロパティに値が入力されていて、エラーがでてしまったようです。自分のミスでした・・・・・。回答の方、ありがとうございました。また宜しくお願いします。

お礼日時:2001/10/03 14:51

Excelのヴァージョンを教えて下さい。

当方、Excel2000です。

また、
  For Each rg In ws.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)

  For Each rg In ws.Range("A1:A100")
としたら次へ行きますか。
    • good
    • 0

質問の『フォームのコンボボックスに表示させる』の『フォーム』はユーザーフォームと解釈しましたが・・・違った?



フォーム(オブジェクト名:UserForm1)には、
 コンボボックス(オブジェクト名:ComboBox1)
 テキストボックス(オブジェクト名:TextBox1) があるとします。
ワークシート出荷リストのA1には『商品コード』、B1には『商品名』の表題があり、2行目からデータが入力されているとします。

フォームを呼び出す時にコンボボックスのリストを定義しています。
下記をUserForm1のコードウインドウに貼り付けます。


Dim SyohinName() As String '商品名用配列

'フォームを開く時の処理
Private Sub UserForm_Initialize()
  Dim ws As Worksheet 'ワークシート
  Dim rg As Range 'セル
  Dim rc As Long '行カウンタ
  Set ws = Worksheets("出荷リスト")

  ComboBox1.Clear 'コンボボックスをクリア
  rc = 0: ReDim SyohinName(0) '商品名をクリア
  For Each rg In ws.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
    If rg.Column = 1 Then 'A列の場合
      If rg.Row > 1 Then '2行目以降の場合
        'セルが表示されていたらコンボボックスに追加する
        ReDim Preserve SyohinName(rc)
        ComboBox1.AddItem rg.Value 'コンボボックスに商品コードを追加
        SyohinName(rc) = rg.Offset(0, 1) '商品コードを記憶
        rc = rc + 1
      End If
    End If
  Next
End Sub

'コンボボックスをクリックした時の処理
Private Sub ComboBox1_Click()
  TextBox1 = SyohinName(ComboBox1.ListIndex)
End Sub

この回答への補足

教えください!!ユーザフォームにコードを貼り付けてステップ実行した時に、以下の場所でエラーが発生しました。どうしたらよろしいでしょうか?ボタンは、OK・ヘルプしかなく、ヘルプをクリックしてもヘルプが表示されません・・・・

ComboBox1.Clearの次のステップへ行く時に、
⇒ "実行時エラー '-2147467259(80004005)':予期せぬエラーが発生しました。"

補足日時:2001/09/26 09:33
    • good
    • 0

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

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


人気Q&Aランキング

おすすめ情報