[[20130626182234]] 『自動で連続印刷をしたい』(Bert) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『自動で連続印刷をしたい』(Bert)

 どうぞよろしくおねがいします。

 Sheet 1 に、下記のようなリストがあります。			

 A	B	C	D          E
 100	6月1日	ABC Company	100000
 101	6月5日	XY Company	50000
 102	6月20日	WBC Company	850000
 103	6月13日	YOC Company	6000
 104	6月6日	EWW Company	285000

 Sheet 2 は、印刷用のフォームになっていて、Sheet1のデータがリンクしてあります。
 A列の番号を Sheet 2 のL4のセルに入力すると、印刷できるようにしてありますが、
 手入力で1枚づつ印刷しています。
 何番から何番と指定すれば自動で連続印刷できるようにしたいのですが、
 VBAのご伝授をどなたかおねがいできないでしょうか?	

 どうぞよろしくおねがいします。

 EXCEL 2010  Windows 7


質問のとちょっと違いますが、こんな感じでどうでしょうか(マナ)

 シート1にボタンを置き、下記のマクロを登録です。

 Sub マウスでシート1のデータを選択し印刷()
    Dim r As Range, c As Range

    On Error Resume Next
    Set r = Application.InputBox(prompt:="印刷するデータを選んでください", Title:="データ選択", Type:=8)
    On Error GoTo 0

    If r Is Nothing Then Exit Sub

    For Each c In Intersect(r.EntireRow, Columns("A"))
            Sheets("Sheet2").Range("L4").Value = c.Value
            Sheets("Sheet2").PrintOut
    Next

 End Sub

 マナ様

 ご回答、大変感謝しております。ありがとうございます。

 私の説明が悪くて申し訳ありません。追記でどこを直せばいいか教えていただけますか。
 シート1のA列の番号を指定して連続印刷をかけたいのですが、そのようなことは可能でしょうか。

 どうぞよろしくおねがいします。

 Bert

 こんなのはどうですか?

 '------
Sub 番号入力で印刷()
Dim InpStr As String
Dim data1 As Variant, data2 As Variant
Dim i As Long, ii As Long
    InpStr = Application.InputBox( _
                "開始番号と終了番号 を入力して下さい。" & vbLf & _
                "例:1,6-8,10 →1,6,7,8,10が印刷されます。")
    If InpStr <> "False" Then
        data1 = Split(InpStr, ",")
        For i = 0 To UBound(data1)
        data2 = Split(data1(i) & "-" & data1(i), "-")
            For ii = data2(0) To data2(1)
                With Sheets("Sheet2")
                    .Range("L4").Value = data2(ii)
                    .PrintOut
                End With
            Next
        Next
    End If
End Sub
 '------

 (HANA)

HANA様

 お礼が遅くなりまして大変申し訳ありませんでした。
 マクロをかいていただきまして、どうもありがとうございます。
 これからやってみますが、取り急ぎお礼をいいたくコメントいたしました。
 ありがとうございました。 

Bert


HANA様

 すみません、また教えてください。
 ページ番号が、4ケタなんですが、どこを直すといいでしょうか?
 iiのところをiiiiにしてみましたが、インデックスが範囲・・・というエラーが出てしまいます。
 どうぞよろしくおねがいします。

Bert


 インプットボックスに
 どんな入力して、どううまくいかなかったですか?

 (HANA)

HANA様

 下記のように書き換えましたところ、, はうまく出ました。
 連続番号の − だと、例えば、1000−1003 とやると、
 1000が3枚でます。どこを変更すればよいのでしょうか?
 どうぞよろしくおねがいします。

 (Burt)

Sub 番号入力で印刷()
Dim InpStr As String
Dim data1 As Variant, data2 As Variant
Dim i As Long, iiii As Long

    InpStr = Application.InputBox( _
                "開始番号と終了番号 を入力して下さい。" & vbLf & _
                "例:1,6-8,10 →1,6,7,8,10が印刷されます。")
    If InpStr <> "False" Then
        data1 = Split(InpStr, ",")
        For i = 0 To UBound(data1)
        data2 = Split(data1(i) & "-" & data1(i), "-")
            For iiii = data2(0) To data2(1)
                With Sheets("RFP")
                    .Range("L4").Value = data2(iiii)
                    .PrintOut
                End With
            Next
        Next
    End If
End Sub

 あ、わかりました。すみません。

 '------
Sub 番号入力で印刷()
Dim InpStr As String
Dim data1 As Variant, data2 As Variant
Dim i As Long, ii As Long
    InpStr = Application.InputBox( _
                "開始番号と終了番号 を入力して下さい。" & vbLf & _
                "例:1,6-8,10 →1,6,7,8,10が印刷されます。")
    If InpStr <> "False" Then
        data1 = Split(InpStr, ",")
        For i = 0 To UBound(data1)
        data2 = Split(data1(i) & "-" & data1(i), "-")
            For ii = data2(0) To data2(1)
                With Sheets("RFP")
                    .Range("L4").Value = ii '★←変更
                    .PrintOut
                End With
            Next
        Next
    End If
End Sub
 '------

 ★の所が間違ってました。

 iの数と 桁数はリンクしてないので ii のままで大丈夫です。

 (HANA)

 HANA様

 うまく印刷できました!どうもありがとうございました。
 桁数は関係ないのですね。基本的なことがわかっていないので、少しずつ勉強していこうと思います。
 この度はどうもありがとうございました。またよろしくお願いいたします。

 Burt


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.