
VBAかマクロで作成したいと思いますが、あいまい検索ができずに困っております。
どなたかご教授お願いできますでしょうか?
一応画像を添付しておりますが大変見にくく申し訳ないです。
一つのファイルで2枚のワークシートを使用してデータのあいまい検索をしたいと思っております。
画像1の方のワークシートがSheet2になっていてこちらの”I”の列に入力しているデータが画像2になりますが登録商品リストの”G”の列に含まれているかを検索したいと思います。
その結果は”Sheet2”の緑色の部分”I”のセルにデータがあれば”*”をJのセルに表示したいと思います。
登録商品リストには長いもので桁数が30桁近いものもありますがこの桁数を8ケタくらいまでの一致でSheet2のIの列のデータと照合して結果をJに表示できればと思っております。何卒ご教授くださいますようお願いいたします。
照合するデータにつきましては、その日によって件数が違いますので、Sheet2のI列にあるデータが200件くらいの時もあれば2000件くらいの時もございます。
登録商品リストは登録するたびに量が増えていくので照合件数も増えていくことになりますので、どちらも1行指定でできればべすとだとおもっております。

No.2ベストアンサー
- 回答日時:
こんばんは!
画像が小さくて詳細が判らないのですが、
おそらくこんなコトでしょうか?
↓の画像で左側がSheet1で右側がSheet2とします。
Sheet2のI列の頭から5文字がSheet1のG列データの中にあればJ列にアスタリクスを表示!
としています。
一例です。
Sub Sample1()
Dim i As Long, endRow As Long, str As String, c As Range, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
endRow = wS2.Cells(Rows.Count, "J").End(xlUp).Row
Application.ScreenUpdating = False
If endRow > 1 Then
Range(wS2.Cells(2, "J"), wS2.Cells(endRow, "J")).ClearContents
End If
For i = 2 To wS2.Cells(Rows.Count, "I").End(xlUp).Row
str = Left(wS2.Cells(i, "I"), 5)
Set c = wS1.Range("G:G").Find(what:=str, LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
wS2.Cells(i, "J") = "*"
End If
Next i
Application.ScreenUpdating = True
End Sub
こんな感じではどうでしょうか?m(_ _)m
お返事が遅くなり申し訳ございませんでした。
ありがとうございます。思う通りのデータが作成で来ました。
これで正確なデータの振い分けができるようになりました。
本当に助かりました。
先に作っていたVBAのものと組み合わせたら完璧な処理が一度でできるようになりました。
今後もご教授の方よろしくお願いいたします。
本当にありがとうございました。
No.1
- 回答日時:
[登録商品リスト]
| G |
| 11111 |
| 22222 |
| 31233 |
| 44444 |
| 57895 |
[Sheet2]
| I | J |
| 123 | * |
| 456 | |
| 789 | * |
結果はこんな感じになると考えてもよろしいでしょうか?
123は[登録商品リスト]シートの31233に含まれるので「*」がつく。
456は[登録商品リスト]シートにどの行にも含まれないので「*」がつかない。
789は[登録商品リスト]シートに57895に含まれるので「*」がつく。
あと、8ケタくらいまでの一致というのがよくわからないのですが、もう少し詳しく教えていただけますか?
この回答への補足
ご教授ありがとうございます。
出来れば、スタートする数字の並びは変更しないでできればと思います。
最低5文字前半から照合できればと思います。
[登録商品リスト]の方の桁数が商品によっては30ケタを超えることがありますが、照合したい商品のデータには5ケタから8ケタしか入力されていない商品もございますのでその商品をひらうためにあいまい検索ができればと考えた次第です。
私の説明の仕方がわかりづらく大変申し訳ございません。
今回作成しようとしているVBAをほかで作成しているVBAに組み込むことができればボタン一つで一連の作業ができるようになるのではないかと思いました。
VBAも少しずつ勉強しているのですが、私の手に余る状態になったもので・・・。
何卒ご教授よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Windows 7 エクセルで重複データから抽出したい 2 2022/05/18 23:31
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Excel(エクセル) エクセルで対象日に該当するデータがある場合に別表へ全対象者を表示させたい。 3 2023/07/12 09:48
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】【配列】3つのシー...
-
文字の色も参照 VLOOKUP
-
シートをまたぐ条件付き書式に...
-
エクセルの保護で、列の表示や...
-
ExcelのVlookup関数の制限について
-
Excelでの並べ替えを全シートま...
-
【条件付き書式】countifsで複...
-
Excel の表
-
Excelのセルの色を変えた行(す...
-
VLOOKアップ関数の結果の...
-
エクセルの列の限界は255列以上...
-
エクセルで同じデータを作成したい
-
エクセルで横並びの複数データ...
-
エクセルのマクロで重複データ...
-
Excelにて、ファイル内の複数シ...
-
エクセルのマクロについて質問です
-
マクロか関数で処理したいので...
-
質問No.2259731で教えて頂いた...
-
エクセルで小の月(29日以下)の...
-
オートフィルタ使用時にCOUNTIF...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】【配列】3つのシー...
-
文字の色も参照 VLOOKUP
-
【条件付き書式】countifsで複...
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
Excelのセルの色を変えた行(す...
-
エクセルで、チェックボックス...
-
VBAで繰り返しコピーしながら下...
-
シートをまたぐ条件付き書式に...
-
Excelでの並べ替えを全シートま...
-
Excel の複数シートの列幅を同...
-
エクセルの列の限界は255列以上...
-
SUMPRODUCTにて別シートのデー...
-
VLOOKアップ関数の結果の...
-
excel 複数のシートの同じ場所...
-
【VBA】複数のシートの指定した...
-
Excelに自動で行の増減をしたい...
-
エクセル マクロ 標準モジュー...
-
Excel 2段組み
-
スプレッドシートでindexとIMPO...
おすすめ情報