Excel VBA質問箱 IV

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

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


14004 / 76738 ←次へ | 前へ→

【68234】同一ワークシート内の参照先から単価を表示する方法
質問  リョウ  - 11/2/17(木) 0:45 -

引用なし
パスワード
   「商品番号と部品番号を入力すると単価を表示する表」をVBAで作っています。
・ワークシートのA列に商品番号、B列に部品番号が入っており、C列に単価を
表示したいと考えています。
・同じワークシート内に参照先(H列〜J列)があり、H列に商品番号、I列に番号、
J列にサイズが書かれています。

この表を使ってマクロを書くのに、どのような構成にするか考えたのが次の通りです。
a. A列に入力された商品番号が表のH列に無かった場合→C列に「再確認」と表示
b. A列に入力された商品番号が表のH列にあった場合→その右セル(I列)に書かれた部品番号がB列と一致するかどうか判断。
  △B列とI列が一致した場合で、J列が"大"の場合はC列に1000を表示。
  ▲B列とI列が一致した場合で、J列が"小"の場合はC列に500を表示。
  ▽B列とI列が一致しなかった場合は、C列に「サイズを選択」と表示

If_ElseIfやSelect Caseの入れ子にする方法を試しているのですが、調べながら試行錯誤しておりますがうまくいきません。
特にa.の「A列の値がH列にあるか」をVLOOKUPで書き、ヒットした場合は
「B列の値がI列の値に一致するか」という方法で進める方が良いのでしょうか。

知識がなく誠にお恥ずかしいのですが、何かご教示願えませんでしょうか。
以下は自分なりに書いてみた物ですが、誤りだらけの為に参考にはならないと思います。
---------------------
For I = 1 To 100

商品番号 = .Cells(I, 1) '本来はA列全体にしたいのですが書き方が分かりません。
部品番号 = .Cells(I, 2)
サイズ = .Cells(I, 10)
単価 = .Cells(I, 3)

  If 商品番号 = Cells("H1:H100") Then 'もし商品番号がH列にあったら
      Select Case 部品番号
      Case "123" '部品番号が123の時
        If パーツ番号 = ("J1:J100") Then 'もしパーツ番号が上のセルの右にあったら
          If サイズ = 大 Then
          単価 = 12000
          ElseIf サイズ = 小 Then
          単価 = 8000
          End If
        End If
      
      Case Else
      単価 = 0
      
    End Select

  ElseIf パーツ番号 もしパーツ番号がH列に無かったら
  単価 = "サイズを選択"
----------------------------
このような状態で申し訳ないのですが、ご教示お願い致します。
0 hits

【68234】同一ワークシート内の参照先から単価を表示する方法 リョウ 11/2/17(木) 0:45 質問
【68245】Re:同一ワークシート内の参照先から単価を... りん 11/2/17(木) 12:24 回答
【68250】Re:同一ワークシート内の参照先から単価を... めいぷる 11/2/17(木) 15:19 発言
【68252】Re:同一ワークシート内の参照先から単価を... Yuki 11/2/17(木) 16:18 発言

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