1213101674 ExcelVBAです。


やりたい内容ですが(添付ファイル有)
①商品.xlsが開いている時に、単価表.xlsを呼び出す。
②商品名+色の組み合わせに対する単価を
 商品.xlsの同じ組み合わせのところに、コピペ。
③単価表.xlsを閉じる

教えていただくと大変助かります。
宜しくお願いします。


回答の条件
  • 1人2回まで
  • 登録:2008/06/10 21:41:17
  • 終了:2008/06/10 22:51:44

ベストアンサー

id:spyglass No.2

spyglass回答回数455ベストアンサー獲得回数292008/06/10 22:47:33

ポイント35pt

まず結論から言うと"VLOOKUP関数"で表示出来ます。


その場合、hananeko_0さんの商品.xlsの検索条件が商品名と色の2種類同時検索になっているのでまずこれを1種類に変換します。

"えんぴつ"+"赤"→"えんぴつ赤"ですね。

これはC2のところに"=A2 & B2"と打ち込めば自動で表示されると思います。

それをC13までドラッグして数式を貼り付けます、C覧を一時的にユニークなセルとするのです。


同じく単価表.xlsのC覧も同等に1種類化します。

"定規"+"赤"→"定規赤"ですね。

なので単価の列はひとつ右にずれます。


これで"VLOOKUP関数"が使えます、単価表.xlsの中から商品.xlsの1種類化したセルに対する単価を商品.xlsに返せます。

VLOOKUP関すの参考URLはこちらを参考にして下さい。

http://allabout.co.jp/computer/msexcel/closeup/CU20060805A/


参照するxlsファイルは別だと思うので以下の形も参考にしてください。

=VLOOKUP(C2,[単価表.xls]Sheet1!C2:D10,2,FALSE)

id:hananeko_0

解決しました!素晴らしいですっ!

本当にありがとうございました。

2008/06/10 22:51:18

その他の回答(1件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692008/06/10 22:21:46

ポイント35pt

それぞれの表が左上詰めにある場合です。

単価表.xlsは閉じた状態で、単価表のシート名は「単価表」としました。違う場合は変えてください。

Sub Macro()
    '単価表のパスに変えてください
    Const myPath As String = "C:\Documents and Settings\hogehoge\デスクトップ\単価表.xls"
    
    Dim ws As Worksheet
    Dim wt As Worksheet
    Dim SlastRow As Long
    Dim TlastRow As Long
    Dim i As Long
    Dim j As Long
    
    Set ws = ActiveSheet
    SlastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
    
    Set wt = Workbooks.Open(myPath).Worksheets("単価表")

    TlastRow = wt.Cells(Rows.Count, 1).End(xlUp).Row
    
    For i = 2 To SlastRow
        For j = 2 To TlastRow
            If ws.Cells(i, 1).Value = wt.Cells(j, 1).Value And _
                ws.Cells(i, 2).Value = wt.Cells(j, 2).Value Then
                ws.Cells(i, 3).Value = wt.Cells(j, 3).Value
                Exit For
            End If
        Next j
    Next i
    
    Workbooks("単価表.xls").Close
    
End Sub
id:hananeko_0

解決しました!素晴らしいですっ!

本当にありがとうございました。

2008/06/10 22:51:13
id:spyglass No.2

spyglass回答回数455ベストアンサー獲得回数292008/06/10 22:47:33ここでベストアンサー

ポイント35pt

まず結論から言うと"VLOOKUP関数"で表示出来ます。


その場合、hananeko_0さんの商品.xlsの検索条件が商品名と色の2種類同時検索になっているのでまずこれを1種類に変換します。

"えんぴつ"+"赤"→"えんぴつ赤"ですね。

これはC2のところに"=A2 & B2"と打ち込めば自動で表示されると思います。

それをC13までドラッグして数式を貼り付けます、C覧を一時的にユニークなセルとするのです。


同じく単価表.xlsのC覧も同等に1種類化します。

"定規"+"赤"→"定規赤"ですね。

なので単価の列はひとつ右にずれます。


これで"VLOOKUP関数"が使えます、単価表.xlsの中から商品.xlsの1種類化したセルに対する単価を商品.xlsに返せます。

VLOOKUP関すの参考URLはこちらを参考にして下さい。

http://allabout.co.jp/computer/msexcel/closeup/CU20060805A/


参照するxlsファイルは別だと思うので以下の形も参考にしてください。

=VLOOKUP(C2,[単価表.xls]Sheet1!C2:D10,2,FALSE)

id:hananeko_0

解決しました!素晴らしいですっ!

本当にありがとうございました。

2008/06/10 22:51:18

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません