回答編集履歴
3
調整
test
CHANGED
@@ -35,3 +35,22 @@
|
|
35
35
|
nextstrings = ret
|
36
36
|
End Function
|
37
37
|
```
|
38
|
+
|
39
|
+
# defghabcaxyarsmnからaを指定してdbxr smn
|
40
|
+
```vba
|
41
|
+
Function nextstrings2(orgStr As String, searchStr As String) As String
|
42
|
+
Dim ret As String
|
43
|
+
Dim i As Integer
|
44
|
+
Dim lastPos As Integer
|
45
|
+
ret = Left(orgStr, 1)
|
46
|
+
For i = 1 To Len(orgStr) - 1
|
47
|
+
If Mid(orgStr, i, 1) = searchStr Then
|
48
|
+
lastPos = i
|
49
|
+
ret = ret & Mid(orgStr, i + 1, 1)
|
50
|
+
End If
|
51
|
+
Next
|
52
|
+
ret = ret & " " & Right(orgStr, Len(orgStr) - lastPos - 1)
|
53
|
+
nextstrings2 = ret
|
54
|
+
End Function
|
55
|
+
```
|
56
|
+
|
2
調整
test
CHANGED
@@ -19,3 +19,19 @@
|
|
19
19
|
などでいけます。
|
20
20
|
VBAで処理したくない場合繰り返し処理は難しいのでひたすらifを使った冗長な処理になります
|
21
21
|
その場合"a"の出現回数に制限などないとひたすら長い処理が必要になるのであまり現実的ではありません
|
22
|
+
|
23
|
+
# defghabcaxyapqからaを指定してdbxを得る
|
24
|
+
```vba
|
25
|
+
Function nextstrings(orgStr As String, searchStr As String) As String
|
26
|
+
Dim ret As String
|
27
|
+
Dim i As Integer
|
28
|
+
ret = ""
|
29
|
+
For i = 1 To Len(orgStr) - 1
|
30
|
+
If Mid(orgStr, i, 1) = searchStr Then
|
31
|
+
ret = ret & Mid(orgStr, i + 1, 1)
|
32
|
+
End If
|
33
|
+
Next
|
34
|
+
ret = Left(ret, Len(ret) - 1)
|
35
|
+
nextstrings = ret
|
36
|
+
End Function
|
37
|
+
```
|
1
調整
test
CHANGED
@@ -13,5 +13,9 @@
|
|
13
13
|
End Function
|
14
14
|
```
|
15
15
|
のようにユーザー関数をつくっておき
|
16
|
+
```excel
|
16
17
|
=nextstrings("abcaxyapq", "a")
|
18
|
+
```
|
17
19
|
などでいけます。
|
20
|
+
VBAで処理したくない場合繰り返し処理は難しいのでひたすらifを使った冗長な処理になります
|
21
|
+
その場合"a"の出現回数に制限などないとひたすら長い処理が必要になるのであまり現実的ではありません
|