[[20070523221527]] 『sheet1にsheet2のデータを表示』(丸) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『sheet1にsheet2のデータを表示』(丸)

sheet2 A   B   C   D

  1製品名 掛け率 社名 TEL

  2製品1  27   A社 090-・・・

  3製品2  34   B社 090-・・・

こんな感じのsheet2ですが、sheet1のB1に製品名を入力してsheet1のB3から下に

かぶった製品名データを表示させたいのですが・・・

イメージでこんな感じです・・・

sheet1 A   B   C   D   E

  1    製品名入力

  2   

  3    製品名 掛け率 社名 TEL

わかりづらい説明ですいませんが、どなたか教えてください><


 Sheet1 の B3 に、
 =VLOOKUP($B$1,Sheet2!$A$2:$D$3,COLUMN(A1),FALSE)
 と入力して、E3 までコピーします。

 蛇足ですが、Sheet1 の B1 に入力する製品名は簡易リストボックスを利用すると便利です。
http://www.excel.studio-kazu.jp/lib/e2k/e2k.html
 (じむやん)


ありがとうございました^^
でもリストボックスがよくわからないのでsheet1に色々いれました。

リストボックスは作れたのですが、ちゃんとした入力しないと表示
されないんですね;;

製品の製という字だけ入れたら、製を含むすべてを表示できるもの
だとおもってたのできびしいです><


 簡易リストボックスを利用するなら、こんな感じです。

 リストの「元の値」には提示の例では Sheet2 の A2:A3 を使いますが、
入力規則を適用するシートとは別シートなので、そのままでは指定できません。
 それで、まずはこの範囲に名前をつけておきます。
 Sheet2 の A2:A3 を選択し、名前ボックスに「製品リスト」などの名前を入力しEnter。

 Sheet1 の B2 を選択し、リンク先の(3)のように「入力値の種類」に「リスト」を選び、
「元の値」に「=製品リスト」と入力し、OK ボタンを押します。

 Sheet1 の B2 を選択すると▼が現れるので、それをクリックすると製品名がリスト表示されます。
 (じむやん)

やってみたのですが、指定された名前の範囲はみつかりません 

とでるんですが;;

もしかすると範囲の名前のつけかたがまちがってるのかもしれ

ません・・・初心者ですいません;; (丸)


 こんな事をご所望でっか?
 \Sheet1/を右クリックしてコード表示を選択
 そのシートモジュールへ下のコードを貼り付けます。
 戻ってSheet1のB1に製品でも製でもあるいは品1でも入力してみてくらはい。
         (弥太郎)
 '----------------------
 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long, n As Integer, j As Long, x, tbl

    If Target.Count > 1 Then Exit Sub
    If Target.Address(0, 0) <> "B1" Then Exit Sub
    If Target = "" Then
        Application.EnableEvents = False
        Range("b4").Resize(Range("b" & Rows.Count).End(xlUp).Row - 3, 4).ClearContents
        Application.EnableEvents = True
        Exit Sub
    End If
    With Sheets("sheet2")
        tbl = .Range("a2").Resize(.Range("a" & Rows.Count).End(xlUp).Row - 1, 4).Value
        ReDim x(1 To UBound(tbl, 1), 1 To UBound(tbl, 2))
        For i = 1 To UBound(tbl, 1)
            If tbl(i, 1) Like "*" & Target & "*" Then
                j = j + 1
                For n = 1 To UBound(tbl, 2)
                    x(j, n) = tbl(i, n)
                Next n
            End If
        Next i
    End With
    On Error Resume Next
    Application.EnableEvents = False
    Range("b4").Resize(Range("b" & Rows.Count).End(xlUp).Row - 3, 4).ClearContents
    Cells(4, 2).Resize(j, UBound(tbl, 2)) = x
    Application.EnableEvents = True
    On Error GoTo 0
 End Sub


 >指定された名前の範囲はみつかりません

 名前がきちんと定義されていないか、つけた名前と指定した名前に違いがあるから、のどちらかではないでしょうか?

 そのものを解説したサイトがありましたので、リンクを張っておきます。

http://hamachan.fun.cx/excel/namae.html

 (じむやん)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.