• 締切済み

EXCEL2007 VBA 印刷タイトルには、連続した行全体または列全

EXCEL2007 VBA 印刷タイトルには、連続した行全体または列全体を指定してください。 OS:windowsXP SP3 開発したエクセル:EXCEL2003 実行したエクセル:EXCEL2007 ファイルは2003形式で保存しています。 VBA付のEXCELマクロを起動すると、データを加工して、新しいブックにはきだします。 VBAのコードの中で、シートの印刷タイトルを設定しています。 Set s2 = Workbooks("ブック名").Sheets(”シート名”) ・ ・ ・ s2.PageSetup.PrintTitleRows = s2.Rows(1).Address & ":" & s2.Rows(4).Address こんな感じです。 excel2003では、何の問題もないのですが、excel2007で実行すると、エラーにはならないものの、作成したEXCELをプレビューすると、 印刷タイトルには、連続した行全体または列全体を指定してください。 というエラーが出て、プレビューできません。 作成したファイルの印刷設定は空欄になっていました。 With s2.PageSetup .PrintTitleRows = "$1:4$" .PrintTitleColumns = "" End With このソースもダメでした。 VBAのコードがNGならと、編集するシートにあらかじめ印刷設定を行ってみましたが、新しいブックにコピーした時点?でダメなようです。 どなたか、この問題を解決してください! 宜しくお願いします。

みんなの回答

  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

回答1、myRangeです。 xl2007で試してみましたがxl2003同様ちゃんと変換してくれました。 動作したということです。 現在の印刷タイトルの部分が、$1:$4 になってるか確認してみましたか? 「ページレイアウト」タブ > 「印刷タイトル」ボタンをクリック 以上です。

rui_cho
質問者

お礼

回答ありがとうございます。 ご指摘の点は確認しております。 2007で動かす場合は、xlmsx形式でVBAを保存するとうまくいきました。 2003形式ファイルと2007形式(マクロ付)の2つを作ることになりました。

  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

2007が手元にないのでなんですが。。。 >s2.PageSetup.PrintTitleRows = s2.Rows(1).Address & ":" & s2.Rows(4).Address MsgBox s2.Rows(1).Address & ":" & s2.Rows(4).Address で確認してみてください。 $1:$1:$4:$4 となりますよね。 xl2003では、それを "$1:$4" と変換してくれたのでしょうが xl2007では、変換してくれない、ということかもしれませんね。 更にいうと、 >s2.PageSetup.PrintTitleRows = s2.Rows(1).Address & ":" & s2.Rows(4).Address これはあっさりと   s2.PageSetup.PrintTitleRows = "$1:$4" した方がいいような気もしますが。。 また、 >With s2.PageSetup >.PrintTitleRows = "$1:4$" ←●ミス >.PrintTitleColumns = "" >End With >このソースもダメでした。 これミスってますよね。たぶん転記ミスでしょうが。 外しましたらご容赦! 以上です。  

rui_cho
質問者

お礼

回答ありがとうございます。 やはり2007で開発している方は少なそうですね。 私も自分のPCにはないもので^^;

rui_cho
質問者

補足

s2.PageSetup.PrintTitleRows = "$1:$4" ダメでした~~ 印刷タイトルには、連続した行全体または列全体を指定してください。 のエラーが出てしまいます。 .PrintTitleRows = "$1:4$" ←●ミス は転記ミスでした。 最初、これでやってたんですが、なんとかエラーをなくしたく色々やっていてAddressとかやってみたんです。

関連するQ&A

  • Excel2003の印刷についてですが・・・

    Excel2003の印刷についてですが、印刷をしますと余分に2~3枚印刷します。 シート(データ)上では、1ページ分しかありませんし、印刷プレビューでも1ページ分しか プレビューしません。 ブック全体を印刷設定をしていると思ったのですが、このデータには6シート ありますので、ブック全体を印刷すると6枚印刷するはずですので、これでは 無いと思います。 用紙サイズは、A4サイズです。 印刷の設定では何も問題が無いのですが、このような現象に詳しい方ご教授 お願いします。

  • Excel2007のVBAでPreviewすると

    初めまして。 Excel2007のVBAで困っていることがあり解決方法を探しています。 もともとExcel97で稼働していたマクロ+VBA付きのシートをExcel2007で稼働させようとしています。 マクロ・VBAで作成されたシート(sheet2)をフォームに配置した印刷ボタンをユーザーに押してもらうことでプレビューを表示します。 印刷ボタンを押したときのプレビューのコード Worksheets("sheet2").PrintOut Copies:=1, Preview:=True でプレビュー画面を表示したところ、印刷ボタンや印刷設定ボタン等の上部にあるボタンが薄いグレーの配色で押せなくなりました。 調べた結果、ScreenUpdatingがfalseだと同じ状態になるとわかったので Application.ScreenUpdating = True Worksheets("sheet2").PrintOut Copies:=1, Preview:=True と書き換えましたが、不具合は解消されませんでした。 またブックを閉じずに、マクロを再起動させて同様の動作をおこなうと 何故かちゃんとボタンが押せるプレビューが表示します。 その状態のブックを保存して改めて開くと同じようにプレビューのボタンが押せなくなっています。 同じような現象で解決された方いらしたら解決方法を教えて頂ければありがたいです。 よろしくお願いいたします。

  • 【Excel VBA】印刷について

    Excel2003を使用しています。 不要ページをスキップして印刷するマクロを作成し、特定のBookでのみ使用しているのですが、このBookを印刷するときはカラー印刷を指定したいので、この印刷マクロの中でカラー印刷を指定できたらと思っているのですが、このようなことは可能でしょうか?可能であれば、どのように記述すればいいでしょうか? ページ設定のマクロの記録をとったところ、下記のように(不要と思われる設定は削除しました)記述されていました。 [BlackAndWhite = False]という部分がカラー印刷に関するコード?かと思い、追加してみたのですが、カラー印刷されませんでした。 With ActiveSheet.PageSetup .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = 98 .PrintErrors = xlPrintErrorsDisplayed End With よろしくお願いします。

  • EXCEL VBA シートの連続印刷に白黒印刷

    EXCEL VBAの初心者です。回答、指導をよろしくお願いします。EXCEL2003を使用しています。シートAとBを連続で印刷するVBAに白黒で印刷するVBAを加えたいのですが記述方法がわかりませんのでご指導お願いします。シートの連続印刷VBAは下記ですが、これでよろしいでしょうか。どなたかご指導よろしくお願いします。 Sub purint複数シート印刷() Sheets(Array("A", "B")).PrintOut End Sub

  • 印刷範囲を設定するvbaコード

    エクセルシートの印刷範囲を設定するvbaコードで Sub Macro1() With ActiveSheet.PageSetup .PrintArea = "$A$1:$c$10" End With End Sub としてるのですが、 "$A$1:$c$10"の部分を Range(Cells(1, 1), Cells(10,3)) 形式でやりたいのですが、 うまくできません。 Sub Macro1() With ActiveSheet.PageSetup .PrintArea = Range(Cells(1, 1), Cells(10,3)) End With End Sub としても、全部が印刷範囲として選択されてしまいます。 というか、印刷範囲が設定されません。

  • Excel2003 ページ設定の「行のタイトル」について

    Excel2003 ページ設定の「行のタイトル」について Excel2003を使用しており、シートが100近くあるブックがあります。 それぞれのシートはほとんど同じフォーマットで作られています。 シートに「行のタイトル」設定をしたいのですが、 シート全て、同じ行がタイトルとなるので、一括で設定したいのですが、 すべてのシートを選択して、ページ設定 → シートタブを見ると、 行のタイトルが設定できなくなっているので、一括での処理は出来ないのでしょうか? ご教示頂きたく何卒宜しくお願い致します。

  • Excel2013にしたらVBAがすごく重くなった

    会社のPCがExcel2010からExcel2013に変更されたのですが、Excel2010の環境で作成していたVBAマクロの処理がもの凄く遅くなってしまいました。 Excel2010では10秒ほど待てば終わった処理が30分以上かかるようになってしまい、業務効率を上げるために作ったVBAが逆に非効率になってしまい困っております。 (フリーズしたような感じになりますが、長時間までは処理は終わり、エラーは出ておりません) Excel2013で重くなった箇所を調べていたら、下記コード部分の繰返し処理で重くなっているのが分かりました。 処理の概要は、「全体」シートの指定列の最終行のセルから指定された番号(12345)があるか1行ずつ調べていき、ヒットしたらその行を全体を切取り、「●●」シートの最終行に貼り付けていく単純なものです。 「全体」シート行数は8000~10000行あります。 ・重くなっている処理の箇所 ================================== Application.ScreenUpdating = False ActiveWorkbook.Worksheets("全体").Activate LastRow = Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To LastRow If Cells(i, 5).Value Like "12345" Then Rows(i).Cut Sheets("●●").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) End If Next i ================================== Excel2010で問題のなかった処理がExcel2013になって途端に重くなった原因自体も分かりませんが、問題点の回避方法や処理速度を改善する方法はありませんでしょうか。 よろしくお願いいたします。

  • 【Excel2007】印刷タイトルの設定方法

    表を印刷する際、複数枚にわたるため、印刷タイトルの設定をしたいと思っています。 設定の仕方は「ページ設定」→「ページ」のシートを選び、印刷タイトルの「タイトル行」に元表の行を範囲選択すればよいことは知っているのですが、Excel2007で、「ページ設定」から「ページ」のシートで「タイトル行」を選択するまで、どのボタンを押せば行き着くかが分かりません。 「印刷プレビュー」からだと「タイトル行」が選択できないのです。 正しい方法を教えてください。よろしくお願いします。

  • EXCEL 印刷時のVBAでのフッター制御

    こんにちは。 Excel2000でVBAを使用して、印刷プレビューもしくは印刷処理を行なっています。 (数十枚あるシートから10ページほどを印刷) 処理が実行された際に、以下のモジュールでフッターを挿入しているのですが、 For i = 1 To 10 With Sheets(i).PageSetup .RightFooter = "sample" End With Next 印刷プレビューの場合、使用者がプレビュー画面の「設定」ボタンを クリックしてフッターを書き換えられてしまいます。 これを書き換えられないように(もしくは書き換えても最終的には こちらが指定した文字で出力できるように)したいのですが、何か良い方法はありませんでしょうか。 Workbook_BeforePrint(Cancel As Boolean) で処理を行なっても手動変更が優先されていました。 どうぞ良い智恵をご教授ください!よろしくお願い致します。

  • エクセルでブック全体を印刷する場合。

    エクセルでブック全体を印刷する場合。 ブック全体を両面印刷したいのですが、印刷設定でブック、両面印刷を選択すれば 自動的にsheetごとに、両面印刷されますか? あるいは、sheetごとにはならずに、両面印刷されるのでしょうか?

専門家に質問してみよう