• ベストアンサー

エクセル VBAで差込印刷の指定方法を教えてください。

こんにちは。大変お世話になっています。 エクセルVBAを使って差込印刷がしたいのです。 1000位あるレコードの中から、これとこれとこれ・・・というふうに選んで印刷させたいのです。 VLOOKUP関数を使わない方法で、ずっと以前にやったことがあるのですが、忘れてしまいました。 「aiu」というシートにリストがあるとして、転機して印刷したいフォーマットがあるシートを「kakiku」とします。 「aiu」のa列に数字の「1」が入力されてあれば、その行が対象となり、印刷が開始される、といったものです。 「kakiku」のai セルに、「aiu」のg列のデーターを入れたい場合、 n=worksheets("aiu").cells(i+1,2)=1then worksheets("kakiku").range("a1")=worksheets("kakiku").cells(i+1,7) このように書いたと思うのですが・・・動きません。 最初の1行になにか問題がありそうな気がするのですが・・・。 すみません、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#187541
noname#187541
回答No.1

こんにちは。 ThenがあるということはIf文ですね。 If Worksheets("aiu").Cells(i + 1, 2) = 1 Then Worksheets("kakiku").Range("A1") = Worksheets("kakiku").Cells(i + 1, 7) End If これでどうでしょうか。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

今は差込み印刷といえばワードの差込印刷を指すようになっている。 これをVBAでやるならワードVBAの世界に入ってとかで難しい。標題だけでも、「データシートの条件で選択した行の列データで、印刷シートの所定セルを埋めて印刷したい、」とか何とか書いてほしかった。 ーー >VLOOKUP関数を使わない方法で、・・ しかし 使う便利な方法がある。行番号をデータシートのどこかの列に振る。 行番号を参照してVLOOKUP関数で、印刷シートの印刷項目をセットする 関数を入れておく。 VBAは下記のように簡単になる。 For i=1 to d sh2.cells(1,"J")=i if sh1.cells(i,"H")= 1 then sh2.range("A1:F30).printout next i 印刷する1は仮に、H列にあるとする。 行番号は仮に、J1セルに入れるとする。 sh1シートのdはデータの最下行の行番号。 =VLOOKUP(データシートにおける行番号、データシートのデータ範囲、持ってくるデータ項目の左からの列番目数、FALSE) を印刷項目の数だけ、適当なセルに散りばめる。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

以前の類似した質問  http://oshiete1.goo.ne.jp/qa3064424.html の内容を少し変えてみました。ご参考まで。 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub InsPrint() Const org As String = "aui" '元データのシート名に修正 Const prs As String = "kakiku" '印刷するシート名に修正 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   If oSht.cells(idx,"A") = 1 Then ' 以下の行を項目数だけコピーして定義する     pSht.Range("A1").Value = oSht.Cells(idx, "G").Value '       pSht.PrintOut '印刷 ' プリンタの印刷が追いつかないので5頁につき8秒休止する     If (idx Mod 5) = 0 Then        DoEvents        Sleep 8000 'ミリ秒単位で指定     End If   End If  Next idx End Sub

関連するQ&A