回答編集履歴

3

調整

2025/01/28 05:57

投稿

yambejp
yambejp

スコア117203

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

調整

2025/01/28 00:00

投稿

yambejp
yambejp

スコア117203

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

調整

2025/01/27 11:12

投稿

yambejp
yambejp

スコア117203

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"の出現回数に制限などないとひたすら長い処理が必要になるのであまり現実的ではありません