質問編集履歴

1

2019/10/01 04:34

投稿

JUN_FOX
JUN_FOX

スコア7

test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,60 @@
6
6
 
7
7
  ```VBA
8
8
 
9
+ 'sheetをセット
10
+
11
+ Dim ws1,ws2 As Worksheet
12
+
13
+ Set ws1 = sheets("一覧")
14
+
15
+ Set ws2 = sheets("table")
9
16
 
10
17
 
18
+
19
+ '変化する数字をセット
20
+
21
+ Dim a As Long
22
+
23
+ c = 4
24
+
25
+ '一覧のF4から空白までループ
26
+
27
+ Do While ws1.Cells(c,6).Value<>""
28
+
29
+ ’一覧から2つの単語を含むセルを探し〇×表へ反映
30
+
31
+ If Instr(ws1.Cells(c,6).Value"app") And InStr(ws1.Cells(c,6).Value"101")<>0 Then
32
+
33
+ '条件を満たせばB2へ〇満たせないなら×を
34
+
35
+ ws2.Cells(2,2).Value = "〇"
36
+
37
+ Exit Do
38
+
39
+ Else
40
+
41
+ ws2.Cells(2,2).Value = "×"
42
+
43
+ End If
44
+
45
+ c = c+1
46
+
47
+ Loop
48
+
11
49
  ```
50
+
51
+ これを左の文字が13種、右の数字が30種ありすべてを上記のようにベタ打ち力技で作りました。
52
+
53
+ しかしこれでは何かある度に膨大な量の修正&見逃しがないか何重もの確認を強いられどうにか簡単にできないか悩んでおります。
54
+
55
+ 現在やってみたのはこの左右に入れる検索対象の文字や数字をどこか隅にでもまとめ1つの〇×処理が終われば1つずらして次へ…というものです。
56
+
57
+ しかしどのようにセルをずらしその都度中を抽出、InStrの中に持っていくかがわからないため困っております。
58
+
59
+ ひとまずわかっていることは
60
+
61
+ ・検索する文字数列セル指定、c+1のような形にする。
62
+
63
+ ・〇×表のセル番地もベタ打ちではなくなにか別の方法で指定しないといけない。
64
+
65
+ 以上の考察をして調べてみましたがわからないため質問致しました。