質問: True MsgBox "転記を完了しました。", vbOKOnly End Sub ### 試したこと 10行のみの場合は上記のコードで転記できました。 ### 補足 他にも修正したほうが良いコードや体裁などがありましたらお教えください。 質問内容に不足不明点があり、分かりづらかったら申し訳ございません。 ご教示お願いします。
回答: 1ページ10行固定なら、マルチページを使うのがいいかな。 マルチページの使い方 [ExcelのVBA] 予想される最大ページ数分のページを作成しておいて、非表示/非表示を消えかえるのが楽だと思います。 Addメソッドでページとコントロールを随時追加していく方法でもいいでしょうが、コード量は増大します。 印刷シートは、データシートから1ページ分のデータを転記して印刷、次のページ分を転記して印刷を繰り返すとするか、 ページ数分印刷シートをコピーして、データシートからデータを転記して一気に印刷、 という方法が考えられます。 フレーム内に動的にコントロール追加していって、スクロールできるようにするという方法もありますが、 そこまでするなら、入力用のシートを作成して、そこで入力するようにした方が同様のことは簡単にできます。 最初からセルというテキストボックスが並んでいるで。メーカーや商品もリストから選択させるとかも標準機能で簡単に実装できるし。 以下は、回答ではなく、感想ですが、 Accessへ移行するという選択肢を検討されてもいいかも。 このままデータが増えていくと、Excelでは処理しきれないということになるかもしれません。 たまに、Excelで処理しきれなくなったのでAccessへ移行したいなどという質問も見かけます。 Accessならテーブルを設計して、リレーションシップを設定したら、 入力フォーム、印刷出力レポートはウィザードで簡単に作成できます。 あとはデザインビューで見栄えを調整すれば完成です。 移行時にデータはエクセルからインポートすればいいでしょう。 複数人数による同時入力も可能です。