表のマッチングをマクロで表現するには? VlookUp関数 Index関数/Match関数 Excel マクロ VBA

マッチングに便利なVlookUp関数・match関数Index関数ですが、

マクロで表現するにはどうすればいいでしょうか

 

初歩的なプログラミングの要素が必要となりますが、

コツを掴めば初歩の壁を越えられるかと思います♪

 

下記の画像のようにB列とC列に金額と消費税を反映させるマクロを例にします

セルB9 C9 にはSUM関数が入っています

 

サンプルコードは下記です

処理の流れ

①ループ1のtoValueに入る

toValueの値⇒2 A列2行目を取得 セルの中身2

 

②ループ2のmListに入る

toValueの値⇒2 A列2行目を取得 セルの中身2 ココの値は変わらない

mListの値⇒2 F列の2行目を取得 セルの中身

 

IF文で toValueの値 [range(“A” & toValue)] と mListの値[range(“F” & toValue)] を比較

初回はマッチせず

 

ループ2の2回目のループ

toValueの値⇒2 A列2行目を取得 セルの中身2 ココの値は変わらない

mListの値⇒2 F列の2行目を取得 セルの中身2

マッチしました!

 

③B列とC列に吐き出す

2行目に吐き出したいのでVtoの値は2

Range(“B” & Vto).Value = Range(“H” & mList).Value
Range(“C” & Vto).Value = Range(“B” & Vto).Value * 0.08
 Vto = Vto + 1 ‘次回出力先は3行目なので+1を自己代入する

【ループ2を抜ける】 Exit For

①ループ1の2回目のループに入る

toValueの値⇒3 A列3行目を取得 セルの中身5

②ループ2の2回目のループに入る

2~8回ループする

マッチングする

③出力する

出力変数を+1自己代入する

 

①②③を繰り返す……..

全てのループが終了されるという流れです

 

以上です。

細かいこと省いてざっくりですが、

自分の説明力と書面だとこれが限界ですww

 

 

プログラミングはとにかく書くこと

なので手を動かして失敗しまくって体で覚えればすんなり頭に入ることも多々あります

 

プログラミングライフを楽しみましょう♪

 

ではでは♪

コメント

タイトルとURLをコピーしました