人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ExcelVBAです。

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

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




1213101674
●拡大する

●質問者: hananeko_0
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:xls コピペ 添付ファイル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●35ポイント

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

単価表.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
◎質問者からの返答

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

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


2 ● spyglass
●35ポイント ベストアンサー

まず結論から言うと"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)

◎質問者からの返答

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ