
Excel2010使用。
データ一覧から別シートにあるフォームに
差し込み印刷をしたいのですが、
サイトを調べたところ、imogasiさんの
imogasi方式という方法にたどり着きました。
下記がすごく参考になるのですが、
http://oshiete.goo.ne.jp/qa/667710.html
この中のimogasiさんの回答にある
関数とVBAの組み合わせで差し込む方法を
応用したいと考えています。
作成したいのは、
A4サイズの中に、4つの同じフォームが
あって、そこにデータ一覧から順番に
印刷をしたいのですが、
1ページに4件分を印刷する方法が
よくわかりません。
VBA初心者の自分なりに考えてみたのが
下記のコードになりますが、
やはり違うようで、
「nextで指定された変数が不正です」とでました。
今ひとつfor~nextが理解できていない私に
どなたご教授いただけないでしょうか?
Sub test01()
Worksheets("sheet1").Activate
For i1 = 2 To 30 Step 4 '300
For i2 = 3 To 30 Step 4 '300
For i3 = 4 To 30 Step 4 '300
For i4 = 5 To 30 Step 4 '300
Cells(1, "F") = i1
Cells(1, "H") = i2
Cells(8, "F") = i3
Cells(8, "H") = i4
Range("a1:H12").PrintOut
Next i1
Next i2
Next i3
Next i4
End Sub
※実際のデータは、多くのデータ量になるので
サンプルで試している段階です。
No.2ベストアンサー
- 回答日時:
現状では 7*6*6*6=1512回 印刷されます。
1回目 i1=2、i2=3 i3=4 i4=5
2回目 i1=2、i2=3 i3=4 i4=9
3回目 i1=2、i2=3 i3=4 i4=13
4回目 i1=2、i2=3 i3=4 i4=17
5回目 i1=2、i2=3 i3=4 i4=21
6回目 i1=2、i2=3 i3=4 i4=25
7回目 i1=2、i2=3 i3=4 i4=29
8回目 i1=2、i2=3 i3=8 i4=5
続く
*ー*ー*ー*ー*ー*ー*ー*ー*ー*ー*ー*ー*ー*ー*ー*ー*ー*ー*ー*
Sub test02()
dim i as long ’変数の定義
Worksheets("sheet1").Activate
For i = 2 To 30 Step 4 '300
Cells(1, "F") = i
Range("a1:H12").PrintPreview ’PrintOut
Next i
End Sub
F1セルが順次変化しますので、データベースシートがSheet2の例として
1つ目のデータ群
=INDEX(Sheet2!$A:$A,$F$1)
=INDEX(Sheet2!$B:$B,$F$1)
に空白セルがあるようなら文字列にする数式して
=INDEX(Sheet2!$B:$B,$F$1)&""
2つ目のデータ群
=INDEX(Sheet2!$A:$A,$F$1+1)
=INDEX(Sheet2!$B:$B,$F$1+1)&""
3つ目のデータ群
=INDEX(Sheet2!$A:$A,$F$1+2)
=INDEX(Sheet2!$B:$B,$F$1+2)&""
・・・など
CoalTarさん、レスありがとうございます。
無事、解決致しました。
教えて頂いた内容を見た時は、んんん?って
感じでしたが、試してみたら
「おぉ~なるほどぉ~っ!」って思いました。
いろんな応用があるんだなぁと
すごく勉強になりました。
ありがとうございました!
No.1
- 回答日時:
Next i4
Next i3
Next i2
Next i1
の順がすべて逆です。
一番外にあるFor i1=・・を一番そとのNext i1で閉じていきます。
Sub test01()
Worksheets("sheet1").Activate
For i1 = 2 To 30 Step 4 '300
For i2 = 3 To 30 Step 4 '300
For i3 = 4 To 30 Step 4 '300
For i4 = 5 To 30 Step 4 '300
Cells(1, "F") = i1
Cells(1, "H") = i2
Cells(8, "F") = i3
Cells(8, "H") = i4
Range("a1:H12").PrintOut
Next i4
Next i3
Next i2
Next i1
End Sub
この回答への補足
早速の回答ありがとうございます。
教えていただいた内容で試したところ
エラーは出なくなったのですが、
セル"H8"しか値が変わりませんでした。
"F1",F8","H1"もそれぞれ変えるには
どうしたらいいでしょうか?
再度教えて頂けると嬉しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
表計算ソフトでの様式の呼称
-
エクセルでフィルターした値を...
-
【画像あり】【関数】指定した...
-
エクセルシートの見出しの文字...
-
【関数】3つのセルの中で最新...
-
エクセルに写真が貼れない(フ...
-
【マクロ】excelファイルを開く...
-
勤怠表について ABS、TEXT関数...
-
Excelに貼ったXのURLのリンク...
-
【関数】=EXACT(a1,b1) a1とb1...
-
【マクロ】【画像あり】❶ブック...
-
【マクロ】【画像あり】4つの...
-
【マクロ】【画像あり】ファイ...
-
ページが変なふうに切れる
-
【マクロ】既存ファイルの名前...
-
EXCELのVBAで複数のシートを追...
-
名前の間のスペースをそろえる...
-
エクセルのライセンスが分かり...
-
LibreOffice Clalc(またはエク...
-
Dir関数のDo Whileステートメン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報