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

回答編集履歴

2

コード修正

2020/12/28 10:26

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -18,4 +18,8 @@
18
18
  Loop Until ok
19
19
  GetRansuu = ransuu
20
20
  End Function
21
+
22
+ Sub Test()
23
+ Debug.Print GetRansuu()
24
+ End Sub
21
25
  ```

1

コード追記

2020/12/28 10:26

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -1,1 +1,21 @@
1
- とりあえず8桁生成してみて、0~3が含まれているかチェックしてなければ再トライするというロジックでどうでしょう。
1
+ とりあえず8桁生成してみて、0~3が含まれているかチェックしてなければ再トライするというロジックでどうでしょう。
2
+
3
+ ```vba
4
+
5
+ Public Function GetRansuu() As String
6
+ Dim ransuu As String, cnt As Long, Num, ok As Boolean
7
+ Do
8
+ ransuu = ""
9
+ For cnt = 1 To 8
10
+ ransuu = ransuu & WorksheetFunction.RandBetween(0, 3)
11
+ Next
12
+
13
+ ok = True
14
+ For Each Num In Split("0 1 2 3")
15
+ ok = InStr(ransuu, Num) > 0
16
+ If ok = False Then Exit For
17
+ Next
18
+ Loop Until ok
19
+ GetRansuu = ransuu
20
+ End Function
21
+ ```