Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8743 / 13646 ツリー ←次へ | 前へ→

【31423】複数の印刷タイトル設定について M.Ishii 05/11/20(日) 11:52 質問[未読]
【31425】Re:複数の印刷タイトル設定について kobasan 05/11/20(日) 13:19 回答[未読]
【31436】Re:複数の印刷タイトル設定について M.Ishii 05/11/20(日) 21:15 質問[未読]
【31438】Re:複数の印刷タイトル設定について kobasan 05/11/20(日) 21:46 回答[未読]
【31439】Re:複数の印刷タイトル設定について M.Ishii 05/11/20(日) 22:30 回答[未読]
【31440】Re:複数の印刷タイトル設定について kobasan 05/11/20(日) 23:25 回答[未読]
【31441】Re:複数の印刷タイトル設定について M.Ishii 05/11/21(月) 0:49 質問[未読]
【31442】Re:複数の印刷タイトル設定について kobasan 05/11/21(月) 7:47 回答[未読]
【31443】Re:複数の印刷タイトル設定について M.Ishii 05/11/21(月) 9:22 お礼[未読]

【31423】複数の印刷タイトル設定について
質問  M.Ishii  - 05/11/20(日) 11:52 -

引用なし
パスワード
   はじめまして、
印刷タイトルを複数設定する方法について、ご質問させて頂きます。

現在、あるソフトの機能テスト用のチェックリストを作成しており、
1つのシートに下記のような複数の形式のリストをA4横で印刷し、
テスト件数が増えたときなどで2ページ目以降に跨って印刷された
場合は、印刷タイトル(行タイトル)をリストの先頭にしたいと
考えています。

しかし、ページ設定の印刷タイトルでは、どちらか一つのリストに
しか設定できないため、複数の異なる形式のリストが一つのシート内に
混在した場合の印刷タイトルを添付する方法がありましたら、
ご教授ください(できれば、複数のシートに分割しない方法があると
うれしいです)。

現在の動作環境は、Win2000Pro.+SP4,Office2000Pro.+SP3です。

以上、よろしくお願いいたします。


【リスト1】
No. テスト項目 結 果
  1 項目1     O K
  2 項目2     N G
 :        :
 10 項目10    O K

【リスト2】
No. テスト項目 操作手順 結 果
  1 項目1    手順1    N G
  2 項目2    手順2    O K
  :        :     :
 50 項目50   手順50   N G

【31425】Re:複数の印刷タイトル設定について
回答  kobasan  - 05/11/20(日) 13:19 -

引用なし
パスワード
   今日は。

各リストは、【リスト1】,【リスト2】のようにしてあり、
各リストの間に空白行を作ってください。

Sub 印刷()
Dim r As Range
Dim trow As String
  For Each r In Range("a1", Range("a65536").End(xlUp))
    If r.Value Like "【リスト*" Then
      With ActiveSheet.PageSetup
        .Orientation = xlLandscape
        .PaperSize = xlPaperA4
        .PrintArea = r.CurrentRegion.Address
        .PrintTitleRows = "$" & r.Row & ":$" & (r.Row + 1)
      End With
      ActiveWindow.SelectedSheets.PrintPreview
      'ActiveWindow.SelectedSheets.PrintOut Copies:=1
    End If
  Next
End Sub

こんな感じでいいのでしょうか。


>はじめまして、
>印刷タイトルを複数設定する方法について、ご質問させて頂きます。
>
>現在、あるソフトの機能テスト用のチェックリストを作成しており、
>1つのシートに下記のような複数の形式のリストをA4横で印刷し、
>テスト件数が増えたときなどで2ページ目以降に跨って印刷された
>場合は、印刷タイトル(行タイトル)をリストの先頭にしたいと
>考えています。

>【リスト1】
> No. テスト項目 結 果
>  1 項目1     O K
>  2 項目2     N G
> :        :
> 10 項目10    O K
>
>【リスト2】
> No. テスト項目 操作手順 結 果
>  1 項目1    手順1    N G
>  2 項目2    手順2    O K
>  :        :     :
> 50 項目50   手順50   N G

【31436】Re:複数の印刷タイトル設定について
質問  M.Ishii  - 05/11/20(日) 21:15 -

引用なし
パスワード
   kobasanさん、ご回答ありがとうございました。

早速試してみたのですが、
【リスト2】は印刷タイトル(行タイトル)が添付されましたが、
【リスト1】のほうには印刷タイトルが添付されませんでした。

先ほどのご質問で言葉足らずで申し訳ありませんが、
【リスト1】と【リスト2】を印刷タイトル付きで、かつ、
[ファイル]メニューの[印刷]を実行したときに印刷するように
するためには、一度、【リスト1】が印刷された後、
印刷されたという情報を取得し、その後、【リスト2】を
印刷するというフローにしたほうがよろしいのでしょうか?

また、下記のプログラムでいくつか質問させてください。

>Dim trow As String
上記の宣言ですが、trowという変数が見当たらないのですが、
これは何をするためのものなのでしょうか?

>        .PrintArea = r.CurrentRegion.Address
上記を入れて実行した場合、
リスト2の先頭行の1つのセルに印刷範囲が設定されてしまい、
リスト2本体が印刷できなくなります。

VBA初心者なのもので恐縮ですが、
今一度、ご教授頂きます様お願いいたします。


>今日は。
>
>各リストは、【リスト1】,【リスト2】のようにしてあり、
>各リストの間に空白行を作ってください。
>
>Sub 印刷()
>Dim r As Range
>Dim trow As String
>  For Each r In Range("a1", Range("a65536").End(xlUp))
>    If r.Value Like "【リスト*" Then
>      With ActiveSheet.PageSetup
>        .Orientation = xlLandscape
>        .PaperSize = xlPaperA4
>        .PrintArea = r.CurrentRegion.Address
>        .PrintTitleRows = "$" & r.Row & ":$" & (r.Row + 1)
>      End With
>      ActiveWindow.SelectedSheets.PrintPreview
>      'ActiveWindow.SelectedSheets.PrintOut Copies:=1
>    End If
>  Next
>End Sub
>
>こんな感じでいいのでしょうか。
>
>
>>はじめまして、
>>印刷タイトルを複数設定する方法について、ご質問させて頂きます。
>>
>>現在、あるソフトの機能テスト用のチェックリストを作成しており、
>>1つのシートに下記のような複数の形式のリストをA4横で印刷し、
>>テスト件数が増えたときなどで2ページ目以降に跨って印刷された
>>場合は、印刷タイトル(行タイトル)をリストの先頭にしたいと
>>考えています。
>
>>【リスト1】
>> No. テスト項目 結 果
>>  1 項目1     O K
>>  2 項目2     N G
>> :        :
>> 10 項目10    O K
>>
>>【リスト2】
>> No. テスト項目 操作手順 結 果
>>  1 項目1    手順1    N G
>>  2 項目2    手順2    O K
>>  :        :     :
>> 50 項目50   手順50   N G

【31438】Re:複数の印刷タイトル設定について
回答  kobasan  - 05/11/20(日) 21:46 -

引用なし
パスワード
   ▼M.Ishii さん 今晩は。


>早速試してみたのですが、
>【リスト2】は印刷タイトル(行タイトル)が添付されましたが、
>【リスト1】のほうには印刷タイトルが添付されませんでした。
>
>先ほどのご質問で言葉足らずで申し訳ありませんが、
>【リスト1】と【リスト2】を印刷タイトル付きで、かつ、
>[ファイル]メニューの[印刷]を実行したときに印刷するように
>するためには、一度、【リスト1】が印刷された後、
>印刷されたという情報を取得し、その後、【リスト2】を
>印刷するというフローにしたほうがよろしいのでしょうか?

このコードはマクロですべて印刷するようにしていますので、
[ファイル]メニューの[印刷]で、印刷するようになっていません。

メニューの「マクロ」から実行するか、シート上にボタンを配置して、
このマクロを登録して実行してください。


>また、下記のプログラムでいくつか質問させてください。
>
>>Dim trow As String
>上記の宣言ですが、trowという変数が見当たらないのですが、
>これは何をするためのものなのでしょうか?

これは、消し忘れたものなので、削除してください。


>>        .PrintArea = r.CurrentRegion.Address
>上記を入れて実行した場合、
>リスト2の先頭行の1つのセルに印刷範囲が設定されてしまい、
>リスト2本体が印刷できなくなります。

これは、絶対に削除しないでください。


それから、次ぎように変えてください。
このままで、まず確かめてください。

>>Sub 印刷()
>>Dim r As Range
>>Dim trow As String  <======削除
>>  For Each r In Range("a1", Range("a65536").End(xlUp))
>>    If r.Value Like "【リスト*" Then
>>      With ActiveSheet.PageSetup
>>        .Orientation = xlLandscape
>>        .PaperSize = xlPaperA4
>>        .PrintArea = r.CurrentRegion.Address
>>        .PrintTitleRows = "$" & r.Row & ":$" & (r.Row + 1)
>>      End With

       'ActiveWindow.SelectedSheets.PrintPreview
       ActiveWindow.SelectedSheets.PrintOut Copies:=1
      'のように変更してください。
      'この辺のことは分かってもらえると思ったものですから。
      '印刷プレビューのままで載せました。

>>    End If
>>  Next
>>End Sub

【31439】Re:複数の印刷タイトル設定について
回答  M.Ishii  - 05/11/20(日) 22:30 -

引用なし
パスワード
   kobasanさん、ご回答ありがとうございました。

>このコードはマクロですべて印刷するようにしていますので、
>[ファイル]メニューの[印刷]で、印刷するようになっていません。
>
>メニューの「マクロ」から実行するか、シート上にボタンを配置して、
>このマクロを登録して実行してください。

● 印刷実行の件、了解しました。

>このままで、まず確かめてください。
>       'ActiveWindow.SelectedSheets.PrintPreview
>       ActiveWindow.SelectedSheets.PrintOut Copies:=1
● 上記のように、プレビュー表示から印刷するように変更する以外は
 素のままでマクロを実行しましたが、下記のように出力されました。

【リスト1】
No. テスト項目 結 果


【リスト2】
No.

分かりにくいので補足しますと、
リスト1は印刷タイトルにする部分が1ページのみ印刷され、
リスト2は印刷タイトルすべき部分の左端のセル1個分のみ
出力され、肝心なリストの中身が出力されませんでした。

このため、リストの中身が印刷されないため、印刷タイトルが
添付されるかの判断がつきません。

以上、よろしくお願い致します。


>▼M.Ishii さん 今晩は。
>
>
>>早速試してみたのですが、
>>【リスト2】は印刷タイトル(行タイトル)が添付されましたが、
>>【リスト1】のほうには印刷タイトルが添付されませんでした。
>>
>>先ほどのご質問で言葉足らずで申し訳ありませんが、
>>【リスト1】と【リスト2】を印刷タイトル付きで、かつ、
>>[ファイル]メニューの[印刷]を実行したときに印刷するように
>>するためには、一度、【リスト1】が印刷された後、
>>印刷されたという情報を取得し、その後、【リスト2】を
>>印刷するというフローにしたほうがよろしいのでしょうか?
>
>このコードはマクロですべて印刷するようにしていますので、
>[ファイル]メニューの[印刷]で、印刷するようになっていません。
>
>メニューの「マクロ」から実行するか、シート上にボタンを配置して、
>このマクロを登録して実行してください。
>
>
>>また、下記のプログラムでいくつか質問させてください。
>>
>>>Dim trow As String
>>上記の宣言ですが、trowという変数が見当たらないのですが、
>>これは何をするためのものなのでしょうか?
>
>これは、消し忘れたものなので、削除してください。
>
>
>>>        .PrintArea = r.CurrentRegion.Address
>>上記を入れて実行した場合、
>>リスト2の先頭行の1つのセルに印刷範囲が設定されてしまい、
>>リスト2本体が印刷できなくなります。
>
>これは、絶対に削除しないでください。
>
>
>それから、次ぎように変えてください。
>このままで、まず確かめてください。
>
>>>Sub 印刷()
>>>Dim r As Range
>>>Dim trow As String  <======削除
>>>  For Each r In Range("a1", Range("a65536").End(xlUp))
>>>    If r.Value Like "【リスト*" Then
>>>      With ActiveSheet.PageSetup
>>>        .Orientation = xlLandscape
>>>        .PaperSize = xlPaperA4
>>>        .PrintArea = r.CurrentRegion.Address
>>>        .PrintTitleRows = "$" & r.Row & ":$" & (r.Row + 1)
>>>      End With
>
>       'ActiveWindow.SelectedSheets.PrintPreview
>       ActiveWindow.SelectedSheets.PrintOut Copies:=1
>      'のように変更してください。
>      'この辺のことは分かってもらえると思ったものですから。
>      '印刷プレビューのままで載せました。
>
>>>    End If
>>>  Next
>>>End Sub

【31440】Re:複数の印刷タイトル設定について
回答  kobasan  - 05/11/20(日) 23:25 -

引用なし
パスワード
   ▼M.Ishii さん:
今晩は。

>● 上記のように、プレビュー表示から印刷するように変更する以外は
> 素のままでマクロを実行しましたが、下記のように出力されました。
>
>【リスト1】
>No. テスト項目 結 果
>
>【リスト2】
>No.

これは、印刷範囲が設定されてないためです。原因は、

   .PrintArea = r.CurrentRegion.Address

が削除されたままになっていませんか?

または、
【リスト1】
No. テスト項目 結 果
の下が空白行になっていませんか?

確かめてください。

【31441】Re:複数の印刷タイトル設定について
質問  M.Ishii  - 05/11/21(月) 0:49 -

引用なし
パスワード
   kobasanさん
夜分遅くすみません。
ご回答ありがとうございます。

早速確認したところ、
ご指摘頂いたとおり、リスト1,2のタイトル行以下の行が
空欄になっていました。

このため、リスト1,2共に、タイトル行以下の行に適当な値を
入れて印刷したところ、おかげさまで、2ページ目以降に
跨って印刷されたときに印刷タイトル(行タイトル)がリストの
先頭に添付されました。

ありがとうございました。


先ほどもご質問させて頂きましたが、確認させて下さい。

今回ご教授頂いたコードはマクロを実行することで動作しますが、
例えば、[ファイル]メニューの[印刷]を実行したときに、
マクロを実行することは可能なのでしょうか?

実際にチェックリストに記入する者はマクロの知識がないため、
また、殆どのチェックリストは[ファイル]メニューの[印刷]より、
印刷しており、今回のようなタイプのチェックリストだけ、
例外的に[ツール]メニューの[マクロ]からマクロを実行するという
ような操作はできるだけなくしたいと考えています。
(やはり、先ほどkobasanさんがおっしゃられたように、
新たにマクロを実行するための[印刷]ボタンを追加するしか
ないのでしょうか。)

以上、ご教授よろしくお願いします。

【31442】Re:複数の印刷タイトル設定について
回答  kobasan  - 05/11/21(月) 7:47 -

引用なし
パスワード
   ▼M.Ishii さん おはようございます。

> 新たにマクロを実行するための[印刷]ボタンを追加するしか
> ないのでしょうか。)

このコードを使う限り、分かりやすくするためには、
[印刷]ボタンを追加するのが一番だと思います。

【31443】Re:複数の印刷タイトル設定について
お礼  M.Ishii  - 05/11/21(月) 9:22 -

引用なし
パスワード
   kobasanさん、おはようございます。

マクロ実行の件、了解しました。
ご回答ありがとうございました。

>▼M.Ishii さん おはようございます。
>
>> 新たにマクロを実行するための[印刷]ボタンを追加するしか
>> ないのでしょうか。)
>
>このコードを使う限り、分かりやすくするためには、
>[印刷]ボタンを追加するのが一番だと思います。

8743 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free