趣味のエクセルで当てよう!ロト・ナンバーズ

当選狙いで、ナンバーズ4をメインにロト、ビンゴ5などの各種データリストや、それらの分析用エクセルVBAなどについて書いてます。

ナンバーズ4ボックスペア数字集計マクロ3


記事目次 ナンバーズ4 



ナンバーズ4ボックスペア数字集計マクロ2のように今度は直近回数で計算。
40回目の次は40回の倍数になる。






Sub Tyokkin_box_pea() 'ボックスペアを直近回数毎に計算するbox_pea_kai()で出したデータを元に


Dim Lastgyou As Long, owari As Long, kai As Variant
Dim i As Long, ii As Long
Sheets("ストレートパターン").Select


Lastgyou = Cells(Rows.Count, 3).End(xlUp).Row


Cells(1, 688) = Lastgyou
i = 4


kai = Application.InputBox("直近集計間隔を入力して下さい", Default:=10, Type:=1)


If StrConv(kai, vbLowerCase) = "false" Then Exit Sub


Range("zm4:abq7000").ClearContents
owari = Lastgyou + kai - 4


Cells(3, 689) = "直近" & kai
Call saikeisanoff '再計算を止めて計算を速くする・


For ii = 0 To owari Step kai


For t = 0 To 54

Cells(i, t + 690) = Application.Sum(Range(Cells(4, t + 631), Cells(ii + kai + 3, t + 631)))
Next t


Cells(i, 689) = kai


If ii > 0 Then
Cells(i - 1, 689) = ii
Cells(i - 1, 745) = ii



End If
i = i + 1


Next ii


Call saikeisanon


End Sub


ナンバーズ4ボックスペア数字集計マクロ2


記事目次 ナンバーズ4



上表のように任意の回数(デフォルトは10回、2回以上で可)毎の集計を表示させます。
ナンバーズ4ボックスペア数字集計マクロの631列~を690列からへ出力
ボックスペア表示部はチェックしてません。631列からと同じ表示にしておきます。



Sub kaisubetu_box_pea() 'ボックスペアを回数毎に計算するbox_pea_kai()で出したデータを元に
Dim Lastgyou As Long, owari As Long, kai As Variant
Dim i As Long, ii As Long
Sheets("ストレートパターン").Select


Lastgyou = Cells(Rows.Count, 3).End(xlUp).Row
Cells(1, 688) = Lastgyou
i = 4


kai = Application.InputBox("集計間隔を入力して下さい", Default:=10, Type:=1)


If StrConv(kai, vbLowerCase) = "false" Then Exit Sub
Range("zm4:abq7000").ClearContents
owari = Lastgyou + kai - 4


Cells(3, 689) = kai & "回毎"
Call saikeisanoff '再計算を止めて計算を速くする・
For ii = 0 To owari Step kai


For t = 0 To 54 ’回数毎に集計
Cells(i, t + 690) = Application.Sum(Range(Cells(4 + ii, t + 631), Cells(ii + kai + 3, t + 631)))
Next t


Cells(i, 689) = kai
If ii > 0 Then
 Cells(i - 1, 689) = ii
 Cells(i - 1, 745) = ii
End If
i = i + 1


Next ii


For l = 0 To 54 'ボックスペア累計出現数
Cells(2, l + 690) = Application.Sum(Range(Cells(4, l + 690), Cells(Lastgyou, l + 690)))
Next l


Call saikeisanon


End Sub


記事目次 ナンバーズ4


一回づつ計算する時は(ここで計算してから上のマクロで回数毎に集計)

ナンバーズ4ボックスペア数字集計マクロ


記事目次 ナンバーズ4


ナンバーズ4のペア数字を新しい回号順(1回毎)に出力するマクロを作りました。
以前は第1回から出していたので、最新のデータを見るのが困難でした。


例えば1123が当選番号としたら、ペア数字6種類(重複有り)です。
11 12 13 12 13 23
これらの数字の下に出現回数が出てきます。上にはトータル出現回数です。


実際の当選番号を小さい順のボックス並びにしてボックスペアを計算しています。


1回毎のデータを任意の回数でまとめる別のマクロも作成中。
前記のマクロとセットでデータを把握するには良いと思っています。


ストレートパターンシート


 出力結果表(一部)


同じシートに上の出力結果を出してるが、他のシートに出すことも出来ますね。


当選番号からボックスペア作成し、それを元に01から99迄の対応セルを特定し出力(重複有の場合は足し算する)


Sheets("ストレートパターン").Cells(i, 3), 1)などと書かないでも同じシートの場合に出力する場合はシート名は省略OKです。


下記はマクロの書き方の一例ですが、他の方法も有ると思います。



Sub box_pea_kai() 'ナンバーズ4ボックスペア1回ずつ出す
Dim i As Long, Lastgyou As Long, kai As Long, bx_no As Range
Dim j As Long, k As Long, reiti As Long, l As Long, m As Long
i = 10


Lastgyou = Cells(Rows.Count, 3).End(xlUp).Row
kai = 3
Range("wy4:zi7000").ClearContents


Call saikeisanoff ’再計算などを止める


For i = Lastgyou To 4 Step -1 ’最終行(最新当選回)から
Cells(1, 626) = Val(Left(Sheets("ストレートパターン").Cells(i, 3), 1)) ’①セルに当選番号分割
Cells(1, 627) = Val(Mid(Sheets("ストレートパターン").Cells(i, 3), 2, 1))
Cells(1, 628) = Val(Mid(Sheets("ストレートパターン").Cells(i, 3), 3, 1))
Cells(1, 629) = Val(Right(Sheets("ストレートパターン").Cells(i, 3), 1))

Cells(3, 626) = "=small(xb1:xe1, 1)" ’②セルに分割後小さい順に表示
Cells(3, 627) = "=small(xb1:xe1, 2)"
Cells(3, 628) = "=small(xb1:xe1, 3)"
Cells(3, 629) = "=small(xb1:xe1, 4)"


kai = kai + 1
Cells(kai, 623) = Cells(i, 3) ’当選番号
Cells(kai, 624) = Cells(3, 626) & Cells(3, 627) ’②セル表示からボックスペア作成6種類
Cells(kai, 625) = Cells(3, 626) & Cells(3, 628)
Cells(kai, 626) = Cells(3, 626) & Cells(3, 629)
Cells(kai, 627) = Cells(3, 627) & Cells(3, 628)
Cells(kai, 628) = Cells(3, 627) & Cells(3, 629)
Cells(kai, 629) = Cells(3, 628) & Cells(3, 629)
Cells(kai, 630) = Sheets("ストレートパターン").Cells(i, 1) ’回号
Next i


Range(Cells(4, 631), Cells(Lastgyou, 685)) = 0


For j = 4 To Lastgyou
 For k = 1 To 6 ’6個のボックスペアの位置に集計  出力結果表
  Set bx_no = Cells(j, k + 623)
  reiti = Range("xg3:zi3").Find(bx_no).Column
  Cells(j, reiti) = Cells(j, reiti) + 1
 Next k


Next j


For l = 0 To 54 'ボックスペア累計出現数
Cells(2, l + 631) = Application.Sum(Range(Cells(4, l + 631), Cells(Lastgyou, l + 631)))
Next l


Call saikeisanon
End Sub


記事目次 ナンバーズ4 


上のマクロで出したデータをまとめて出す場合は



Call saikeisanoffとCall saikeisanonは下の別のマクロです。