Page 857 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼スマートにしたい 初心者 03/3/10(月) 10:54 ┗Re:スマートにしたい ポンタ 03/3/10(月) 13:31 ┗Re:スマートにしたい 初心者 03/3/10(月) 15:43 ─────────────────────────────────────── ■題名 : スマートにしたい ■名前 : 初心者 ■日付 : 03/3/10(月) 10:54 -------------------------------------------------------------------------
下記のような記述をスマートにしたいのですが、初心者の私にはとても出来ません。 どなたか教えていただけますでしょうか? 宜しくお願い致します^^ Sub 一枚目印刷() henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub form = ("タ-23フォーム") hani = ("a1:m3") Range("a2").Copy Destination:=Worksheets(form).Range("b1") Range("b2").Copy Destination:=Worksheets(form).Range("f1") Range("c2").Copy Destination:=Worksheets(form).Range("j1") Range("a3").Copy Destination:=Worksheets(form).Range("b3") Range("b3").Copy Destination:=Worksheets(form).Range("f3") Range("c3").Copy Destination:=Worksheets(form).Range("j3") Worksheets(form).Range(hani).PrintOut End Sub Sub 二枚目印刷() henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub form = ("タ-23フォーム") hani = ("a1:m3") Range("e2").Copy Destination:=Worksheets(form).Range("b1") Range("f2").Copy Destination:=Worksheets(form).Range("f1") Range("g2").Copy Destination:=Worksheets(form).Range("j1") Range("e3").Copy Destination:=Worksheets(form).Range("b3") Range("f3").Copy Destination:=Worksheets(form).Range("f3") Range("g3").Copy Destination:=Worksheets(form).Range("j3") Worksheets(form).Range(hani).PrintOut End Sub Sub 三枚目印刷() henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub form = ("タ-23フォーム") hani = ("a1:m3") Range("i2").Copy Destination:=Worksheets(form).Range("b1") Range("j2").Copy Destination:=Worksheets(form).Range("f1") Range("k2").Copy Destination:=Worksheets(form).Range("j1") Range("i3").Copy Destination:=Worksheets(form).Range("b3") Range("j3").Copy Destination:=Worksheets(form).Range("f3") Range("k3").Copy Destination:=Worksheets(form).Range("j3") Worksheets(form).Range("a1:m3").PrintOut End Sub Sub 四枚目印刷() henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub form = ("タ-23フォーム") hani = ("a1:m3") Range("m2").Copy Destination:=Worksheets(form).Range("b1") Range("n2").Copy Destination:=Worksheets(form).Range("f1") Range("o2").Copy Destination:=Worksheets(form).Range("j1") Range("m3").Copy Destination:=Worksheets(form).Range("b3") Range("n3").Copy Destination:=Worksheets(form).Range("f3") Range("o3").Copy Destination:=Worksheets(form).Range("j3") Worksheets(form).Range("a1:m3").PrintOut End Sub Sub 五枚目印刷() henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub form = ("タ-23フォーム") hani = ("a1:m3") Range("q5").Copy Destination:=Worksheets(form).Range("b1") Range("r5").Copy Destination:=Worksheets(form).Range("f1") Range("s5").Copy Destination:=Worksheets(form).Range("j1") Range("q6").Copy Destination:=Worksheets(form).Range("b3") Range("r6").Copy Destination:=Worksheets(form).Range("f3") Range("s6").Copy Destination:=Worksheets(form).Range("j3") Worksheets(form).Range("a1:m3").PrintOut End Sub Sub 六枚目印刷() henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub form = ("タ-23フォーム") hani = ("a1:m3") Range("a5").Copy Destination:=Worksheets(form).Range("b1") Range("b5").Copy Destination:=Worksheets(form).Range("f1") Range("c5").Copy Destination:=Worksheets(form).Range("j1") Range("a6").Copy Destination:=Worksheets(form).Range("b3") Range("b6").Copy Destination:=Worksheets(form).Range("f3") Range("c6").Copy Destination:=Worksheets(form).Range("j3") Worksheets(form).Range("a1:m3").PrintOut End Sub Sub 七枚目印刷() henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub form = ("タ-23フォーム") hani = ("a1:m3") Range("e5").Copy Destination:=Worksheets(form).Range("b1") Range("f5").Copy Destination:=Worksheets(form).Range("d1") Range("g5").Copy Destination:=Worksheets(form).Range("e1") Range("e6").Copy Destination:=Worksheets(form).Range("b3") Range("f6").Copy Destination:=Worksheets(form).Range("f3") Range("g6").Copy Destination:=Worksheets(form).Range("j3") Worksheets(form).Range("a1:m3").PrintOut End Sub Sub 八枚目印刷() henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub form = ("タ-23フォーム") hani = ("a1:m3") Range("i5").Copy Destination:=Worksheets(form).Range("b1") Range("j5").Copy Destination:=Worksheets(form).Range("f1") Range("k5").Copy Destination:=Worksheets(form).Range("j1") Range("i6").Copy Destination:=Worksheets(form).Range("b3") Range("j6").Copy Destination:=Worksheets(form).Range("f3") Range("k6").Copy Destination:=Worksheets(form).Range("j3") Worksheets(form).Range("a1:m3").PrintOut End Sub Sub 九枚目印刷() henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub form = ("タ-23フォーム") hani = ("a1:m3") Range("m5").Copy Destination:=Worksheets(form).Range("b1") Range("n5").Copy Destination:=Worksheets(form).Range("f1") Range("o5").Copy Destination:=Worksheets(form).Range("j1") Range("m6").Copy Destination:=Worksheets(form).Range("b3") Range("n6").Copy Destination:=Worksheets(form).Range("f3") Range("o6").Copy Destination:=Worksheets(form).Range("j3") Worksheets(form).Range("a1:m3").PrintOut End Sub Sub 十枚目印刷() henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub form = ("タ-23フォーム") hani = ("a1:m3") Range("q5").Copy Destination:=Worksheets(form).Range("b1") Range("r5").Copy Destination:=Worksheets(form).Range("f1") Range("s5").Copy Destination:=Worksheets(form).Range("j1") Range("q6").Copy Destination:=Worksheets(form).Range("b3") Range("r6").Copy Destination:=Worksheets(form).Range("f3") Range("s6").Copy Destination:=Worksheets(form).Range("j3") Worksheets(form).Range("a1:m3").PrintOut |
これでどうでしょう? とりあえず、印刷はせずに、印刷プレビューをするようにしてあります。 (プリンタ用紙を無駄にしないため) それと、 >form = ("タ-23フォーム") は半角カタカナを含んでいたせいで、 文字化けをしたのではないですか? そうだとしたら、 Set Ws = Worksheets("タ-23フォーム") の部分は適切に書き直してください。 Sub 一枚目印刷() Call 印刷(Range("A2")) End Sub Sub 二枚目印刷() Call 印刷(Range("E2")) End Sub Sub 三枚目印刷() Call 印刷(Range("I2")) End Sub Sub 四枚目印刷() Call 印刷(Range("M2")) End Sub Sub 五枚目印刷() Call 印刷(Range("Q2")) End Sub Sub 六枚目印刷() Call 印刷(Range("A5")) End Sub Sub 七枚目印刷() Call 印刷(Range("E5")) End Sub Sub 八枚目印刷() Call 印刷(Range("I5")) End Sub Sub 九枚目印刷() Call 印刷(Range("M5")) End Sub Sub 十枚目印刷() Call 印刷(Range("Q5")) End Sub Sub 印刷(MyTarget As Range) Dim Ws As Worksheet Dim MyRange As Range Dim i As Integer, j As Integer Dim henji As Integer Dim hani As Range henji = MsgBox("プリンターの設定はお済ですか?", vbYesNo) If henji = vbNo Then Exit Sub Set Ws = Worksheets("タ-23フォーム") Set hani = Ws.Range("a1:m3") For i = 0 To 1 For j = 0 To 2 Call MyTarget.Offset(i, j).Copy(Ws.Cells(i * 2 + 1, j * 4 + 2)) Next Next 'hani.PrintOut hani.PrintPreview End Sub |
誠に有難う御座いました^^ オフセットでやればいいのか〜!! 勉強になりました(本とはよく分かってない^^) 又何かありましたら宜しくお願い致します。 |