はじめまして。
VBAはいろいろなサイトからのコピペでつなぎ合わせて使っている初心者です。
不足している情報等ございましたら教えてください。
よろしくお願いいたします。
前提・実現したいこと
Excelのlistシートに載っている文字がアクティブ列の文章にいくつ含まれているかチェックしたいです。
(文章中にNGワードが何個含まれているかチェックしたいです。)
期待する結果
アクティブシートの対象文章が入っているセルの隣のセルに数字(NGワードが含まれている数)が表示される
listシート
A列:NGワードの一覧
アクティブシート
列、シート名共に変動する可能性があるので固定にしたくないです。
発生している問題・エラーメッセージ
・ループしないです
・いくつ含まれているかをどうやって入れたらいいかわからないです
※↓いろんなサイトからのコピペでひとまず1つのセルの隣に○を表示させられたのですが
ここからどうしたらいいのか、、
Sub リストによる検索() Dim i As Long Dim lastRow As Long Dim A As Long Dim wS1 As Worksheet Dim wS2 As Worksheet Dim Str1 As String, Str2 As String Set wS1 = ActiveSheet Set wS2 = Worksheets("list") A = ActiveCell.Column 'アクティブなセルの列番号を取得=Aとします buf = ActiveCell.Address(True, False) ' 数値から列番号表示させるやつ buf = Left(buf, InStr(buf, "$") - 1) lastRow = Cells(Rows.Count, A).End(xlUp).Row 'その列の最終行を取得=lastRowとします For i = 1 To lastRow '1から最終行まで繰り返す Str1 = wS1.Cells(i, A) Str2 = wS2.Cells(i, "A") If InStr(Str1, Str2) <> 0 Then wS1.Cells(i, A).Offset(0, 1).Select '右隣のセルを選択 Selection = "○" '選択したセルに○って入れる End If Next i MsgBox ("チェック完了!!") End Sub
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/09 10:14
2018/05/09 11:46
2018/05/09 12:32