趣味のエクセルマクロ

ナンバーズ4などの数字選択式宝くじデータ分析用の自作マクロおよびナンバーズ4の各種データリストなどをブログにしています。

ナンバーズ申込カード印刷

マークシートに合わせて、購入番号を0は◎、1~9は①~⑨などで印刷する。
二重下線設定して置きます。(売り場での読み取り易さを考えて)
5点以内の印刷の場合はマクロは使用せずに出来ます。それ以上でも入力毎に印刷ならマクロは不要です。(その場合は作業領域セル右端に手入力します)



 大変ですが、あらかじめセルの縦横の微調整をして自分のプリンターで上手く印刷できる様にする必要があります。(申込用紙より少し大きいサイズを指定すれば良いでしょう)
印刷する範囲はメニューから設定してファイル保存しておきます。



又、①などは下のように関数で選択できるようにしておきます。
=IF($AX22=1,"①","")    =IF($BA26=3,"③","")などです。
4×10=40(千桁から一桁で0~9) マークシート5列で200個の関数が必要です。


シート「購入番号」のセルは文字に設定します。そこに購入番号をA列に入力します。
 印刷出来る枚数はテストでマークシート200枚ありますが、時間が掛かりますw


 関数を使い購入番号を4つの数字に分解しておく、上の様に入力する必要があります。
 左から下の式
=IF($BB22<>"",VALUE(LEFT($BB22,1)),"")   ax22に入力する。以下同様に
=IF($BB22<>"",VALUE(MID($BB22,2,1)),"")  ay22
 =IF($BB22<>"",VALUE(MID($BB22,3,1)),"")       az22
 =IF($BB22<>"",VALUE(RIGHT($BB22,1)),"")      ba22
これで、記入ミスは無くなりますね。大量に購入するには良いかも知れませんww



Sub 購入番号印刷_2()
 Dim tensu,pr1kai As Integer
 '購入番号をコピーして印刷する。
  tensu = Application.InputBox("何点ですか", Type:=1) ’購入点数を入れる
       If tensu / 5 = Int(tensu / 5) Then 'プリント回数の判定;1枚に付き5点として
                      pr1kai = tensu / 5
        Else
                       pr1kai = Int(tensu / 5 + 1)
        End If
     
  Cells(1, 35) = pr1kai
i = 0: j = 0


  For i = 1 To pr1kai
     Sheets("購入番号").Select
     If Range(Cells(i + j, 1), Cells(i + j, 1)) = "" Then MsgBox "所定位置にデータ有りません":     
   End
        Range(Cells(i + j, 1), Cells(4 + i + j, 1)).Select
       Selection.Copy
     Sheets("数字印刷シート").Select
     Range("bb22").Select
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
      Call pr1ntstart 'プリントスタート
     j = j + 4
   Next i
     Range("AB11").Select
 End Sub



Sub pr1ntstart()
    'プリントする。プリンターの設定も自動記録マクロで書いておいたのが良いですね!
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
 End Sub


購入番号印刷マクロ実行前に申込みタイプを決める場合。

Sub strat()’ストレートにする。 "M"は"■"でも何でも読み取り易さを考えて行きます。
  
     Range("AF3").Activate
     Selection.ClearContents
     Cells(5, 8) = "M"
     Cells(5, 14) = "M"
     Cells(5, 20) = "M"
     Cells(5, 26) = "M"
     Cells(5, 32) = "M"
          Range("A1").Select
 End Sub



Sub boxx()’ボックスにする。
   Range("H3:H21,N3:N21,T3:T21,Z3:Z21,AF3:AF21").Select
     Range("AF3").Activate
     Selection.ClearContents
     Cells(9, 8) = "M"
     Cells(9, 14) = "M"
     Cells(9, 20) = "M"
     Cells(9, 26) = "M"
     Cells(9, 32) = "M"
         Range("A1").Select
 End Sub


Sub setot()’セットにする
    Range("H3:H21,N3:N21,T3:T21,Z3:Z21,AF3:AF21").Select
     Range("AF3").Activate
     Selection.ClearContents
     Cells(13, 8) = "M"
     Cells(13, 14) = "M"
     Cells(13, 20) = "M"
     Cells(13, 26) = "M"
     Cells(13, 32) = "M"
         Range("A1").Select
 End Sub


Sub straitk()
     Range("k3:k21,s3:s21,aa3:aa21,ai3:ai21,aq3:aq21").Select
     Range("k3").Activate
     Selection.ClearContents
     Cells(5, 11) = "M"
     Cells(5, 19) = "M"
     Cells(5, 27) = "M"
     Cells(5, 35) = "M"
     Cells(5, 43) = "M"
         Range("A1").Select
 End Sub



Sub box_kx()
     Range("k3:k21,s3:s21,aa3:aa21,ai3:ai21,aq3:aq21").Select
    Range("k3").Activate
     Selection.ClearContents
     Cells(9, 11) = "M"
     Cells(9, 19) = "M"
     Cells(9, 27) = "M"
     Cells(9, 35) = "M"
     Cells(9, 43) = "M"
         Range("A1").Select
 End Sub


Sub setot_KK()
Range("k3:k21,s3:s21,aa3:aa21,ai3:ai21,aq3:aq21").Select
    Range("k3").Activate
     Selection.ClearContents
     Cells(13, 11) = "M"
     Cells(13, 19) = "M"
     Cells(13, 27) = "M"
     Cells(13, 35) = "M"
     Cells(13, 43) = "M"
         Range("A1").Select
 End Sub


Sub typeclear() ’申し込みタイプのクリア
   ' Range("H3:H21,N3:N21,T3:T21,Z3:Z21,AF3:AF21").Select
     Range("AF3").Activate
     Selection.ClearContents
      Range("A1").Select
End Sub


Sub kildata()
     Cells.Select
     Selection.ClearContents
     Range("A1").Select
 End Sub
      
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー


Sub 購入番号印刷()  'ナンバーズ3
Dim tensu,pr1kai As Integer

  tensu = Application.InputBox("何点ですか", Type:=1)
       If tensu / 5 = Int(tensu / 5) Then
                       pr1kai = tensu / 5
        Else
                       pr1kai = Int(tensu / 5 + 1)
        End If
   
  Cells(1, 35) = pr1kai
 i = 0: j = 0
  For i = 1 To pr1kai
     Sheets("購入番号").Select’ナンバーズ4と同様に
     If Range(Cells(i + j, 1), Cells(i + j, 1)) = 0 Then End
       Range(Cells(i + j, 1), Cells(4 + i + j, 1)).Select
         Selection.Copy
     Sheets("印刷シート").Select
     Range("Aq22").Select
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
        pr1ntstart
      j = j + 4
   Next i
     Range("AB11").Select
 End Sub



 Sub pr1ntstart()
    'プリントする。プリンターの設定も自動記録マクロで書いておいたのが良いですね!
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
 End Sub



Sub strat()'ストレートの時(タイプ選択 印字は8になってるがMに変更しました。) 
 Range("G3:G21,M3:M21,S3:S21,Y3:Y21,AE3:AE21").Select
     Range("AE3").Activate
     Selection.ClearContents
     Range("A1").Select
     Cells(5, 7) =  "M"
     Cells(5, 13) = "M"
     Cells(5, 19) =  "M"
     Cells(5, 25) =  "M"
     Cells(5, 31) =  "M"
 End Sub



Sub boxx()’ボックスの時
 Range("G3:G21,M3:M21,S3:S21,Y3:Y21,AE3:AE21").Select
     Range("AE3").Activate
     Selection.ClearContents
     Range("A1").Select
     Cells(9, 7) =  "M"
     Cells(9, 13) =  "M"
     Cells(9, 19) =  "M"
     Cells(9, 25) =  "M"
     Cells(9, 31) =  "M"
 End Sub


Sub setot()’セットの時
 Range("G3:G21,M3:M21,S3:S21,Y3:Y21,AE3:AE21").Select
     Range("AE3").Activate
     Selection.ClearContents
     Range("A1").Select
     Cells(13, 7) =  "M"
     Cells(13, 13) =  "M"
     Cells(13, 19) =  "M"
     Cells(13, 25) =  "M"
     Cells(13, 31) =  "M"
 End Sub


Sub typeclear()
 Range("G3:G21,M3:M21,S3:S21,Y3:Y21,AE3:AE21").Select
     Range("AE3").Activate
     Selection.ClearContents
 End Sub