人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルのマクロで、表のデーター範囲を入力し1デーダーごとに作っておいたユーザーフォームの形式でデーター数だけ印刷するプロシージャを教えてください。

●質問者: torashi
●カテゴリ:コンピュータ
✍キーワード:エクセル データ プロ マクロ ユーザー
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● fester
●35ポイント

エクセル(Excel)VBA編「エクセルだけで、差し込み印刷を実現」(サンプルあり)

◎質問者からの返答

今、ダウンロードしてみました。これは宛先を連続処理して印刷できるサンプルファイルですね。

ありがとうございました。研究してみます。


2 ● airplant
●35ポイント

ユーザフォームの印刷は、UserForm1.PrintFormでできますので、下記のようなサンプルで印刷できると思います。

フォームは、ActiveCellの内容を単純にフォーム内の項目に入れるものとして作ってみました。

データ範囲入力はセルを選択するようにしましたが、文字で入れられる場合は適宜変更ください。

' 標準モジュール側
Option Explicit

Sub PrintMyform()

 Dim oPrintRange As Range
 Dim lRows As Long, l As Long
 
 Set oPrintRange = Application.InputBox(prompt:="表範囲は?", Type:=8)
 
 lRows = oPrintRange.Rows.Count
 oPrintRange.Offset(0, 0).Activate
 For l = 1 To lRows
 UserForm1.Show
 ActiveCell.Offset(1, 0).Activate
 Next

End Sub

' ユーザフォーム側
Option Explicit

Private Sub UserForm_Activate()
 Dim lRow As Long
 lRow = ActiveCell.Row
 TextBox1.Text = Cells(lRow, 1)
 TextBox2.Text = Cells(lRow, 2)
 
' MsgBox "Print"
 UserForm1.PrintForm
 Me.Hide
End Sub
◎質問者からの返答

これは役立ちます!ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ