ナンバーズ申込カード印刷
マクロを使って印刷を考えました。
下の様に「購入番号」と「数字印刷シート」の2枚のシートを用意します。
マークシートに合わせて、購入番号を0は◎、1~9は①~⑨などで印刷する。
二重下線設定して置きます。(売り場での読み取り易さを考えて)
5点以内の印刷の場合はマクロは使用せずに出来ます。それ以上でも入力毎に印刷ならマクロは不要です。(その場合は作業領域セル右端に手入力します)
大変ですが、あらかじめセルの縦横の微調整をして自分のプリンターで上手く印刷できる様にする必要があります。(申込用紙より少し大きいサイズを指定すれば良いでしょう)
印刷する範囲はメニューから設定してファイル保存しておきます。
又、①などは下のように関数で選択できるようにしておきます。
=IF($AX22=1,"①","") =IF($BA26=3,"③","")などです。
4×10=40(千桁から一桁で0~9) マークシート5列で200個の関数が必要です。
シート「購入番号」のセルは文字に設定します。そこに購入番号をA列に入力します。
印刷出来る枚数はテストでマークシート200枚ありますが、時間が掛かりますw
マクロ学習法とは 5(関数)
関数を使い購入番号を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 As long,pr1kai As long
'購入番号をコピーして印刷する。
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 As long,pr1kai As long
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