回答編集履歴

2

説明追記

2020/04/16 12:06

投稿

hatena19
hatena19

スコア34075

test CHANGED
@@ -2,7 +2,15 @@
2
2
 
3
3
  Sub InStrのみでできる()
4
4
 
5
- Range("A2").Value = IIf(InStr(Range("A1").Value, "グレープ")>0,"グレープ","")
5
+ If InStr(Range("A1").Value, "グレープ") > 0 Then
6
+
7
+ Range("A2").Value = "グレープ"
8
+
9
+ Else
10
+
11
+ Range("A2").Value = ""
12
+
13
+ End If
6
14
 
7
15
  End Sub
8
16
 
@@ -11,3 +19,23 @@
11
19
 
12
20
 
13
21
  Leftのみではどう頑張っても文字列の途中の文字を取り出すのは無理。Midを使えば可能だが。
22
+
23
+
24
+
25
+ ```vba
26
+
27
+ Sub Midならできる()
28
+
29
+ Dim S1, S2, pos
30
+
31
+ S1 = Range("A1").Value
32
+
33
+ S2 = "グレープ"
34
+
35
+ pos = InStr(S1,S2)
36
+
37
+ Range("A2").Value = Mid(S1,pos,len(S2))
38
+
39
+ End Sub
40
+
41
+ ```

1

説明追記

2020/04/16 12:06

投稿

hatena19
hatena19

スコア34075

test CHANGED
@@ -7,3 +7,7 @@
7
7
  End Sub
8
8
 
9
9
  ```
10
+
11
+
12
+
13
+ Leftのみではどう頑張っても文字列の途中の文字を取り出すのは無理。Midを使えば可能だが。