teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

説明の改善

2020/12/04 15:45

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -27,10 +27,12 @@
27
27
  ---
28
28
  数が膨大かつ修正することを結構あるのなら、シート上に入力しておいて、FindメソッドがMatch関数で検索するのがいいでしょう。
29
29
 
30
- Match関数を使用する場合のコード例
30
+ **Match関数を使用する場合のコード例**
31
31
 
32
32
  ItemListシートのA1からワードのリストを入力しておく。
33
+
33
- 下記の関数を作成
34
+ 標準モジュールに下記の関数を作成
35
+
34
36
  ```vba
35
37
  'Item が List に存在したら True を返す
36
38
  Public Function ListCheck(Item As String) As Boolean

1

説明の改善

2020/12/04 15:45

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -25,4 +25,25 @@
25
25
  ```
26
26
 
27
27
  ---
28
- 数が膨大かつ修正することを結構あるのなら、シート上に入力しておいて、FindメソッドがIndex関数で検索するのがいいでしょう。
28
+ 数が膨大かつ修正することを結構あるのなら、シート上に入力しておいて、FindメソッドがMatch関数で検索するのがいいでしょう。
29
+
30
+ Match関数を使用する場合のコード例
31
+
32
+ ItemListシートのA1からワードのリストを入力しておく。
33
+ 下記の関数を作成
34
+ ```vba
35
+ 'Item が List に存在したら True を返す
36
+ Public Function ListCheck(Item As String) As Boolean
37
+ Dim r As Double
38
+ On Error Resume Next
39
+ r = Application.Match(Item, Worksheets("ItemList").Range("A1").CurrentRegion, 0)
40
+ ListCheck = (Err = 0)
41
+ End Function
42
+ ```
43
+ 行削除処理
44
+ ```vba
45
+ cellValue = Cells(i, "B").Value
46
+ If Not ListCheck(cellValue) Then
47
+ Rows(i).Delete
48
+ End If
49
+ ```