皆さん初めまして!
エクセルで1万件に近いデータがあります。
これらを帳票形式に差込印刷したいと思えば、ワードの「差込印刷」機能以外に、エクセル自体で行なうことは不可能でしょうか?
(例:請求データを請求書フォームに印刷)
ワードの差込印刷は便利ですが、エクセルデータ形式(特に金額のカンマ区切り表示が必要なため)を参照する際は、フィールド設定の数の制限が22列まで?で・・・行き詰っています(私は約40列あります)。
エクセル・ワードの操作は上級手前の操作まではいけますが、
エクセルでVBA、差込印刷マクロを作るとまではいけないもので・・・何か妙案がありましたらご教示願います・・・
No.4ベストアンサー
- 回答日時:
#01です。
出血大サービスです(^^;ただし不具合以外の修正はご自身でお願いします。
2行目~4行目と項目の定義の箇所は再度設定し直してください。
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "Sheet1" '元データのシート名
Const prs As String = "Sheet2" '印刷するシート名
Const strt As Integer = 2 '元データの実データ開始行
Dim idx, fromL, toL As Long
Dim oSht, pSht As Worksheet
Dim res, res2
Set oSht = Worksheets(org)
Set pSht = Worksheets(prs)
res = MsgBox("印刷行範囲を指定しますか?" & Chr(13) & _
"はい:指定する、いいえ:指定しないで全件印刷、CANCEL:印刷しない", vbYesNoCancel)
Select Case res
Case Is = vbCancel
Exit Sub
Case Is = vbYes
res2 = Application.InputBox("印刷開始行を半角数字で入力して下さい", Type:=1)
If TypeName(res2) = "Boolean" Then
MsgBox "印刷を中止しました", vbOKOnly
Exit Sub
Else
If res2 >= strt And res2 <= oSht.Range("A65536").End(xlUp).Row Then
fromL = res2
Else
MsgBox "開始行が不適切です。印刷を中止しました", vbOKOnly
Exit Sub
End If
End If
res2 = Application.InputBox("印刷する最終行を入力して下さい" & Chr(13) & _
"99999を入力すると最終行まで印刷します", Type:=1)
If TypeName(res2) = "Boolean" Then
MsgBox "印刷を中止しました", vbOKOnly
Exit Sub
Else
If res2 = 99999 Then
toL = oSht.Range("A65536").End(xlUp).Row
Else
If res2 >= fromL And res2 <= oSht.Range("A65536").End(xlUp).Row Then
toL = res2
Else
MsgBox "最終行が不適切です。印刷を中止しました", vbOKOnly
Exit Sub
End If
End If
End If
Case Else
fromL = strt
toL = oSht.Range("A65536").End(xlUp).Row
End Select
For idx = fromL To toL
'以下の行を項目数だけコピーして定義する
pSht.Range("A1").Value = oSht.Cells(idx, "A").Value
'
pSht.PrintOut '印刷
'5頁につき8秒休止する
If (idx Mod 5) = 0 Then
DoEvents
Sleep 8000
End If
Next idx
End Sub
質問者です。
うーん・・・!!!本当に「出血サービス」を頂きました・・・!
感謝・・・感謝です!!!
不具合もなく、理想通りの差込印刷ができました。本当にありがとうございます。
自分自身、もっとマクロVB応用ができるよう勉強します@_@;
ちょいと・・・質問ですが、
最初の行 Declare Sub の
Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
は、どういう行為(意味)をさすのでしょうか?
索引とか引いても見つからないもので・・・^^;
No.3
- 回答日時:
エクセルで差し込み印刷のようなことをするにはマクロが必要です。
以下のマクロはそのひな形です。
pSht.Range("A1").Value = oSht.Cells(idx, "A").Value
の行を差し込みする項目の数だけコピーして定義して下さい。この例は
pSht.Range("A1").Value → 印刷シートのA1セルに
oSht.Cells(idx, "A").Value → 元データのA列のデータを
差し込むという意味になります。修正を加えるのは左辺"A1"と右辺"A"の2カ所のみで、他は変えてはいけません。
また2行目~4行目も実際のシートに合わせて修正が必要です
マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はシート画面に戻って、ALT+F8を押してマクロ一覧からマクロ名を選択して実行します。
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "Sheet1" '元データのシート名に修正
Const prs As String = "Sheet2" '印刷するシート名に修正
Const strt As Integer = 2 '元データの実データ開始行に修正
Dim idx As Long
Dim oSht, pSht As Worksheet
Set oSht = Worksheets(org)
Set pSht = Worksheets(prs)
For idx = strt To oSht.Range("A65536").End(xlUp).Row
' 以下の行を項目数だけコピーして定義する
pSht.Range("A1").Value = oSht.Cells(idx, "A").Value
'
pSht.PrintOut '印刷
' プリンタの印刷が追いつかないので5頁につき8秒休止する
If (idx Mod 5) = 0 Then
DoEvents
Sleep 8000 'ミリ秒単位で指定
End If
Next idx
End Sub
マクロを実行中途中で印刷を止めたい場合は、ESCキーを押してください。
この回答への補足
すみません、質問者です。
「お礼」のところに「あ」と書いた後、誤って確認画面・・・へ進んでしまいました><
早速、回答をありがとうございました!
す、すばらしい、感動するくらいシンプルで要望どおりのマクロひな形です!
試してみたところ、うまくいきました。
そこで、さらに厚かましい質問ですが・・・
指定行から指定行まで、を印刷せよ、という指示BOXを組み込むマクロを挿入するにはどういった風にすればいいでしょうか・・・?
マクロVBAを勉強中のみであり、なかなか応用まで行きません・・・未熟モノですが、よろしくお願い致します。
No.2
- 回答日時:
すみません、解決策ではありません。
先に考え方のお話です。そういう込み入った処理をする場合、通常はアクセスでやると思いますよ。
アクセスの場合、データベースとフォームを作るのと両方しなくては
いけないと思いますので。
EXCELで、もしやるとするなら、マクロやVBAを組んでやらなくては
いけないと思います。関数や数式だけでやろうとすれば、かなりの
手間がかかると考えられますし、処理も煩雑になると予想されますので、
・お金を出して詳しい人に作ってもらうか
・かなりの手間を覚悟で関数や数式を組み合わせて作るか
のどちらかになると思います。
解決にならないレスで申し訳ありません。m(__)m
回答ありがとうございます^^
そうですね、アクセスだと問題ないですが、
ここの職場では、アクセスがなく、またアクセスを使いこなせる人がいないので、今後の引継ぎを考えて・・・エクセル&ワードでいく方法がないかを模索中です。
参考意見をどうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 差し込み印刷がうまくいかない 2 2022/07/29 12:26
- Word(ワード) エクセル→ワード差し込み印刷 1 2022/10/05 17:32
- Word(ワード) 差し込み印刷 4 2022/07/19 20:51
- Word(ワード) 差し込み印刷の処理 1 2022/07/20 16:54
- その他(Microsoft Office) エクセルで差し込み印刷する方法 1 2022/05/14 18:40
- Word(ワード) wordの差し込み印刷で困っています。助けてください。word2019です。 エクセルで作ったデータ 3 2023/03/17 13:51
- Word(ワード) ワード差し込み印刷がうまくいかない 2 2022/07/01 19:01
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- 年賀状作成・はがき作成 ワード・エクセル2007で印刷 2 2023/05/12 05:40
- プリンタ・スキャナー ワードやエクセルで印刷をデフォルトで片面印刷にする方法 4 2023/08/10 16:55
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
Excelで氏名を入れ替えながら印刷をしたい。
Excel(エクセル)
-
エクセルを使って名簿を連続印刷するには
Excel(エクセル)
-
excelからexcelへの差し込み印刷
Excel(エクセル)
-
-
4
EXCELで宛名だけ連続変更するには?
Excel(エクセル)
-
5
エクセルからエクセルへの差込印刷の方法を教えて下さい
Excel(エクセル)
-
6
(エクセルマクロ)DBの中で、選択した行のみ連続印刷する方法
Excel(エクセル)
-
7
エクセルで。
Excel(エクセル)
-
8
EXCELで一覧表のデータを個別に印刷したい
Excel(エクセル)
-
9
エクセルで140人をマクロをつかって連続印刷?
その他(データベース)
-
10
開始行と最終行を指定して差し込み印刷するマクロ
Excel(エクセル)
-
11
エクセルの名簿一覧表からすでにエクセルで作られている一人づつのシートに差込印刷
Excel(エクセル)
-
12
日付だけを変更して印刷(Excel)
Excel(エクセル)
-
13
エクセル:シート名を手入力でなく、セル「A1」の文字を出したい。
Excel(エクセル)
-
14
Excelで連続印刷をするマクロ
Excel(エクセル)
-
15
エクセル印刷時 一枚の書類に印刷枚数分の連続番号を振るには?
Excel(エクセル)
-
16
ワードの差し込み印刷で,ページがずれる
Word(ワード)
-
17
VBAで空白のセルを飛ばして差込印刷をするコード
Excel(エクセル)
-
18
EXCELでNo.を変えて印刷したい
Excel(エクセル)
-
19
EXCELで作成した案内状を名前を入れて連続印刷したいのです。
Excel(エクセル)
-
20
「amp;」ってどういう意味?
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 同じシートで印刷ペ...
-
エクセルで白紙ページを消す方...
-
エクセルで謎の2枚目が印刷される
-
Excel 複数のシートの印刷順の...
-
エクセルから帳票形式に差込印...
-
エクセルを最初からA4の大きさ...
-
Excelの白黒印刷について
-
エクセルで印刷するとき、連番...
-
エクセルの印刷範囲の自動変更...
-
エクセル365のVBAで困ってい...
-
エクセルをメールに添付した時
-
エクセル「改ページビューで印...
-
エクセル 2upできません。
-
エクセルだけ印刷しても白紙です。
-
VBAでホルダー内のPDFを一括印...
-
エクセルでプライスカードを作...
-
差込印刷で郵便番号のハイフン...
-
B5縦で作ったエクセル文書をA4...
-
コマンドプロンプトからEXC...
-
エクセルで図形やオートシェイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで謎の2枚目が印刷される
-
エクセルで白紙ページを消す方...
-
エクセル 同じシートで印刷ペ...
-
Excel 複数のシートの印刷順の...
-
エクセルだけ印刷しても白紙です。
-
差込印刷で郵便番号のハイフン...
-
エクセルを最初からA4の大きさ...
-
エクセルから帳票形式に差込印...
-
数式による空白を無視して印刷...
-
下の部分をカットして印刷
-
エクセルで印刷するとき、連番...
-
エクセルの印刷範囲の自動変更...
-
B5縦で作ったエクセル文書をA4...
-
エクセル 2upできません。
-
VBAでホルダー内のPDFを一括印...
-
エクセルの全シートをPDFにでき...
-
エクセル「改ページビューで印...
-
エクセルで図形やオートシェイ...
-
エクセルで空白の部分を印刷範...
-
Excelで印刷すると、ルビがずれ...
おすすめ情報