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

回答の条件
  • 1人5回まで
  • 登録:2009/05/15 11:21:30
  • 終了:2009/05/22 11:25:03

回答(2件)

id:fester No.1

fester回答回数124ベストアンサー獲得回数202009/05/15 11:29:24

id:torashi

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

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

2009/05/18 14:15:59
id:airplant No.2

airplant回答回数220ベストアンサー獲得回数492009/05/19 02:09:11

ポイント35pt

ユーザフォームの印刷は、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
id:torashi

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

2009/05/19 14:38:24

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません