目次
と連携しながら マイクロソフトエクセル このような場合、Excelの関数を使えば簡単にできます。 VBAにも使える関数はありますが、どれも、「Select」「Select」「Select」「Select」と同じようなものです。 MATCH を使用して、範囲内の値を一致させる方法を学びます。 エクセルブイビーエー .
練習用ワークブックをダウンロードする
ワークブックをダウンロードして、一緒に練習することができます。
VBA 範囲内の値を一致させる.xlsmエクセルVBAマッチ関数入門
があります。 マッチング機能 は、Excel VBA のルックアップ関数と同様、便利な構造になっています。 ブイルック , HLOOKUP であり、また INDEX この関数は、プログラムが使用するワークシート関数である。 ワークシート関数であるため、Match関数のパラメータはワークシート関数のパラメータと同様である。
範囲内の値を一致させるExcel VBAの3つの例
1.ExcelのVBA Match関数で範囲内の値を一致させる
使用方法 エクセルVBAのMatch関数 このデータセットには、生徒の名前が列挙されています。 C の欄には、特定の科目の点数が表示されます。 D の列で、各生徒の通し番号が表示されます。 B ここで,セル G5 の、特定のマークと一致させたいマークがセル F5 .
excel VBAのMatch関数を使って、範囲内の一致する値を見つける手順を実演してみましょう。 .
STEPS
- まず デベロッパー タブをクリックします。
- 2つ目は、「」をクリックします。 ビジュアルベーシック を開いてください。 Visual Basic エディター をクリックすると、コードが表示されます。 Alt + 11 を開いてください。 Visual Basic エディター .
- もう一つの開き方 Visual Basic エディター は、ただ 右クリック をワークシート上でクリックします。 表示コード .
- を開くことができます。 Visual Basic エディター さて、そこにコードを書きましょう。
VBAのコードです。
Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub
- その後、コードを実行するために F5 キーボードのキーを押すか ラブ・サブ ボタンをクリックします。
- 最後に、一致するのは位置 5 .
🔎 VBAコードはどのように動作しますか?
Sub example1_match()
: つまり、マクロ名を与えてサブプロシージャーを定義するのです。レンジ("G5").Value
: 出力は、セルに格納されるようにしたい G5 .ワークシート機能
: このコードを使用することで、VBAの関数にアクセスすることができるようになります。
Match(Range("F5").Value, Range("D5:D10"), 0)
: ここでは マッチ機能 セルから値を取得したいので、VBAで F5 を表示し、範囲内の位置を調べる D5:D10 .エンド・サブ
: これは、手順を終了することを意味します。
続きを読む: 列内の文字列を一致させるエクセルVBA(5例)
2.エクセルVBAで他のワークシートの値と一致させる
別のワークシートから範囲内の一致する値を見つけるには、次のようにします。 VBAのMatch関数 において エクセル という名前のシートにデータセットがあると仮定します。 データ " というシート名で結果を表示させたい。 結果 " と、同じデータセットを使っています。 では、その手順を追ってみましょう。
STEPS
- はじめに、先ほどの例と同じ要領で デベロッパー タブをクリックします。
- をクリックします。 ビジュアルベーシック を押すか Alt + F11 を開いてください。 Visual Basic エディター .
- そのかわり、開くには Visual Basic エディター を選択すると、シート上で右クリックして 表示コード .
- さて、VBAのコードを書きましょう。
VBAのコードです。
Sub example2_match() Sheets("Result").Range("C5").Value = WorksheetFunction.Match(Sheets("Result").Range("C5").Value, Sheets("Data").Range("D5:D10"), 0) End Sub
- 次に、コードを実行するために F5 キーを押すか ラン・サブ ボタンをクリックします。
- そして、その結果は、" 結果 " シートです。
続きを読む Excelで2つのワークシートのデータを一致させる方法
類似の読み物
- ExcelでVLOOKUPを使用してすべてのマッチを合計する(3つの簡単な方法)
- エクセルで大文字小文字を区別して検索する方法(6つの計算式)
- エクセルでスペルが異なる人名を一致させる方法(8つの方法)
3.範囲内の一致した値を取得するExcel VBAのループ
複数のマークで値を一致させたい場合、VBAのループを使用します。 前と同じデータセットを使用します。 ここで、一致する位置を列 G であり,一致を求めたいマークは,列 F ステップダウンして見ましょう。
STEPS
- まず、リボンから デベロッパー タブで表示します。
- 2つ目は、「開く」です。 Visual Basic エディター をクリックします。 ビジュアルベーシック を押すか Alt + F11 .
- または、単にシート上で右クリックし 表示コード .
- を開くことができます。 Visual Basic エディター .
- さて、そこにコードを打ち込みます。
VBAコードです。
Sub example3_match() Dim i As Integer For i = 5 To 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub
- その後 F5 キーを押すか ラン・サブ ボタンをクリックすると、コードが実行されます。
- そして、その結果をカラム G .
🔎 VBAコードはどのように動作しますか?
For i = 5 To 8
: これは、ループを行から開始させたいことを意味します。 5 で終わり 8 .セルズ(i, 7).Value
: から、各行の結果位置の値を保存します。 5 まで 8 列行 G は、列番号 7 .Match(Cells(i, 6).Value, Range("D5:D10"), 0)
: を使ってセルをマッチングさせることができます。 マッチ 関数 (i, 6) を使用します。 値は、行で見つかった各 Lookup 値を検索します。 5 を通して 8 の 6日 列で検索されます。 D5:D10 を、データのあるエクセルシートに書き出す。
続きを読む Excel 2つの列で一致する値を検索する
留意点
- マッチタイプがない、あるいは指定されていない場合、次のように見なされます。 1 .
- 一致しない場合、関連するExcelフィールドは空白になります。
- ルックアップ値は、数値、文字、論理データ、または数量、テキスト、論理的意義へのセル参照であるかもしれません。
結論
上記の方法は、Excel VBAで範囲内の値を一致させるのに役立ちます。 これがあなたの助けになることを願っています!何か質問、提案、またはフィードバックがある場合は、コメント欄でお知らせください。 または、当社の他の記事もご覧いただけます。 エクセルウィキ・ドットコム ブログ