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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) ExcelVBAで、型が一致しませんのエラーについて 3 2023/06/20 09:51
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
はがきについて。
-
エクセル 文字を増やしたい。
-
セルの内容表示が邪魔になる
-
Microsoft365に変えたのですが...
-
エクセルの計算
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
Excel ピボットテーブルで日付...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの条件付き書式につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報