[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『単価表の条件分岐について』(キリン)
お世話になっております。
以前質問させていただき、そちらは起動出来ているのですが、
条件が1つ追加してしまい、どう変更すれば良いのかわからず、教えていただけましたら助かります。
Sub sample()
Dim sakiSh As Worksheet
Dim motoSh As Worksheet
Dim saki As Long
Dim moto As Variant
Dim tanka As Variant
Set motoSh = Worksheets("moto")
Set sakiSh = Worksheets("saki")
For saki = 2 To sakiSh.Cells(Rows.Count, "A").End(xlUp).Row
tanka = ""
moto = Application.Match(sakiSh.Cells(saki, "AI").Value, motoSh.Range("D10", motoSh.Cells(Rows.Count, "D").End(xlUp)),0) If IsNumeric(moto) Then tanka = motoSh.Cells(moto + 9, "E").Value End If Next End If
※実際は、ここから加算が入り、マクロが終了します。
End Sub
sakiShのAI列の値を、motoShのD列から探し、一致するものがあったら変数motoに代入する
(無かった場合はエラー文字列になる)
そして、tankaに、motoShのE列の値を加算するという方法を教えていただきました。
(※そして、この単価に、さらに条件によっては加算していました)
今回は、
sakiShのAI列の値を、motoShのD列から探し、一致するものがあったら変数motoに代入する
→ここの部分に条件を下記に変更したいと思っています。
sakiShのAR列の値が、motoShのB列にあるものは、motoShのC列から探し、一致するものがあったら変数motoに代入する。
かつ、sakiShのAR列の値が、motoShのZ列にあるものは、motoShのAA列から探し、一致するものがあったら変数motoに代入する。としたいです。
(motoSh)=単価表
9行目タイトル
B9 = 種別
B10 = 日本
B11 = アフリカ
続く
C9 = 高さ
C10 = 7
C11 = 9
C12 = 11
C13 = 13
続く
D9 = 単価
D10 = 100
D11 = 110
D12 = 120
D13 = 130
続く
AA9 = 高さ
AA10 = 7
AA11 = 9
AA12 = 11
AA13 = 13
続く
AB9 = 単価
AB10 = 200
AB11 = 210
AB12 = 220
AB13 = 230
続く
長くなってしまい申し訳ありません。
ご教示いただけましたら助かります。
宜しくお願い致します。
< 使用 Excel:unknown、使用 OS:unknown >
説明に不備があり、申し訳ございません。宜しくお願い致します。
(キリン) 2021/12/12(日) 18:26
まずは、以下の部分だけを考えてみてはどうでしょうか。
現在のコードが参考になるのでは?
>sakiShのAR列の値が、motoShのB列にあるものは、motoShのC列から探し、
>一致するものがあったら変数motoに代入する。
(マナ) 2021/12/12(日) 23:29
ここのつづきだと理解しました。
リンク先の最後で提案したコードにほぼ答えになる内容があります。
考えなしにただコピペでできるものを、と考えず応用することをご検討ください。
(きまぐれおじさん) 2021/12/14(火) 09:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.