[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『自動で連続印刷をしたい』(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)
お礼が遅くなりまして大変申し訳ありませんでした。 マクロをかいていただきまして、どうもありがとうございます。 これからやってみますが、取り急ぎお礼をいいたくコメントいたしました。 ありがとうございました。
Bert
すみません、また教えてください。 ページ番号が、4ケタなんですが、どこを直すといいでしょうか? iiのところをiiiiにしてみましたが、インデックスが範囲・・・というエラーが出てしまいます。 どうぞよろしくおねがいします。
Bert
インプットボックスに どんな入力して、どううまくいかなかったですか?
(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.