エクセル技道場 HOME |
エクセルの技 目次 |
シート |
関数 |
名前定義 |
ツールバー |
セル選択 |
ファイル |
条件付き書式 |
書式設定 |
編集 |
印刷 |
入力規則 |
マクロ |
グラフ |
ピボットテーブル |
エクセル・ショートカット |
エクセル関数語源リスト |
エクセル関数引数リスト |
【問題】
常にワークシートの特定の範囲だけを印刷したい場合、どのような設定を行えば良いでしょうか?
ワークシート内にある作業列(仮計算用のセルなど)については印刷範囲としたくないのです。
【回答】
1.印刷したい範囲を選択
2.メニュー[ファイル]-[印刷範囲]-[印刷範囲の設定]
【解説】
印刷範囲を解除するには、メニュー[ファイル]-[印刷範囲]-[印刷範囲のクリア]です。
印刷範囲を設定すると自動的に新しい名前が作成されます。
名前には Print_Area
、参照範囲には設定した印刷範囲が入っています。
名前定義の内容はCtrl+F3
(メニュー[挿入]-[名前]-[定義])で見ることができます。
[印刷範囲の設定]ボタンを[標準]ツールバーに追加するには以下の手順です。
1.メニュー[ツール]−[ユーザー設定]
2.[コマンド]タブの[分類]で
ファイル
を選択
3.[コマンド]にある[印刷範囲の設定]ボタンをドラッグして[標準]ツールバーの上でドロップ
詳しくは、以下のページをご覧ください。
【エクセル技道場】−ツールバー
http://www2.odn.ne.jp/excel/waza/toolbar.html
【問題】
ワークシートを印刷すると、2ページ印刷されます。
しかし、2ページ目は1,2行分のデータしかないので、1ページにまとめて印刷されるようにしたいのですが、どうしたら良いでしょうか?
【回答】
1.メニュー[ファイル]-[ページ設定]
2.[ページ]タブで[横1×縦1ページに印刷]にチェック
3.Enter
【解説】
縦長の表があり、これを印刷するときに、横1ページで印刷させたい。縦は何ページになるか分からない、という場合には、横を1ページに縦を空欄にします。
[印刷の向き](縦/横)もこの[ページ]タブで設定できます。
[ページ設定]はメニューバーの左のエクセルアイコンを右クリックからでもできます。
【問題】
枠線・行列番号・コメントを付けて印刷するにはどういう設定をすれば良いで
しょうか?
【回答】
1.メニュー[ファイル]-[ページ設定]
2.[シート]タブの[印刷]のところにある[枠線]及び[行列番号]にチェック
3.[コメント]で[シートの末尾]または[画面表示イメージ]を選択
3.Enter
【解説】
Ctrl+Shift+@ で数式表示にして、枠線・行列番号を付けて印刷すると、数式がどこのセルを参照しているかなど全体像が把握しやすくなります。
Ctrl+Shift+@
は、数式/計算結果表示の切り替えのショートカットキーです。
[ページ設定]はメニューバーの左のエクセルアイコンを右クリックからでもできます。
【問題】
数百行にわたる長い表を作成しました。複数のページで印刷されます。
表の最初の行に作成した列見出しを各ページの頭に自動的に入れて印刷したいのですが、どうすれば良いでしょうか?
【回答】
1.メニュー[ファイル]-[ページ設定]
2.[シート]タブの[行のタイトル]ボックス内をクリック
3.タイトルに指定したい行のセルのどれかをクリック
4.Enter
【解説】
行のタイトルには、複数の行を指定することもできます。
上記手順2.で[列のタイトル]ボックス内をクリック、とすることで同様に列のタイトルを設定することができます。
[ページ設定]はメニューバーの左のエクセルアイコンを右クリックからでもできます。
以下のページは印刷タイトル関係のページです。
[XL2002]印刷タイトルに設定した二重線が2ページ目以降で一重線で印刷
http://support.microsoft.com/default.aspx?scid=kb;ja;401088&Product=excelJPN
[XL97]
印刷タイトルに選択していない列や行が追加されるケースについて
http://support.microsoft.com/default.aspx?scid=kb;ja;408235&Product=excelJPN
【問題】
フッターにページ番号と総ページ数をつけて印刷するにはどうしたら良いでしょうか?
【回答】
1.メニュー[ファイル]-[ページ設定]
2.[ヘッダー/フッター]タブで[フッター]のところで 1 / ?ページ
を選択
3.Enter
【解説】
これで、例えば 1 / 20 ページ
のようにフッターに印刷されます。
[ページ設定]はメニューバーの左のエクセルアイコンを右クリックからでもできます。
【問題】
印刷する際に、ヘッダにページ番号をつけたいのですが、ページ番号を例えば20ページからスタートさせるにはどうすれば良いでしょうか?
【回答】
1.メニュー[ファイル]-[ページ設定]
2.[ページ]タブで[先頭ページ番号]に、20 (シートの先頭ページに表示するページ番号)を入力
3.Enter
【解説】
シートに自動的にページ番号を付ける(つまり1ページからスタート)には、[先頭ページ番号]に
自動 と入力します。
以下の手順でも同様に20ページからスタートさせることができます。
1.メニュー[ファイル]-[ページ設定]
2.[ヘッダー/フッター]タブで[フッターの編集]ボタンをクリック
3.[中央部]のボックス内をクリックして[ページ番号]ボタンをクリック
→ &[ページ番号] と入力されます。
4.続けて +19 を入力し、 &[ページ番号]+19 とします。
5.[OK]ボタンをクリック
6.[OK]ボタンをクリック
つまり、
1ページに19を足して20ページ
2ページに19を足して21ページ
・
・
・
という感じになります。
【問題】
いろんな種類の罫線を使って表を作成しました。
画面上では罫線を表示させておきたいのですが、印刷の時は罫線を印刷したくありません。どうすれば良いでしょうか?
【回答】
1.メニュー[ファイル]-[ページ設定]
2.[シート]タブで[簡易印刷]にチェック
3.Enter
【解説】
上記の設定を行っておくと全ての罫線が印刷されません。
罫線の一部が印刷されないという場合には、以下を参考にしてみてください。
例えばA1:A5が印刷範囲とします。
セルA6で上罫線を設定している場合は印刷されません。
セルA5で下罫線を設定している場合は印刷されます。
左右についても同様です。
【問題】
印刷の際に右ヘッダーにファイル名とシート名を表示させるにはどうしたら良いでしょうか?
【回答】
1.メニュー[ファイル]-[ページ設定]
2.[ヘッダー/フッター]タブで[ヘッダーの編集]ボタンをクリック
3.[右側]のボックス内をクリックし[ファイル名]ボタンと[シート名]ボタンをク
リック
→
&[ファイル名]&[シート名]
が[右側]のボックス内に入力される
4.OKボタンをクリック
【解説】
上記のように設定しておくと Book1Sheet1 のようにファイル名、シート名が右ヘッダーに挿入されます。
&[ファイル名]-&[シート名] のように間にハイフンを入力すると、Book1-Sheet1
のようになります。
[ヘッダーの編集]ボタンまたは[フッターの編集]ボタンをクリックして表示されるダイアログボックスには、以下の七つのボタンがあります。
[フォント]ボタン 文字を選択してから[フォント]ボタンをクリック
[ページ番号]ボタン &[ページ番号]
[総ページ数]ボタン &[総ページ数]
[日付]ボタン &[日付]
[時刻]ボタン &[時刻]
[ファイル名]ボタン &[ファイル名]
[シート名]ボタン &[シート名]
【問題】
右ヘッダーに以下のようにフルパスを挿入するにはどうしたら良いでしょうか?
C:\My
Documents\Book1.xls
【回答】
1.以下のコードの"Private Sub"から"End
Sub"までをマウスのドラッグで選択
Private Sub Workbook_BeforePrint(Cancel As
Boolean)
ActiveSheet.PageSetup.RightHeader = ActiveWorkbook.FullName
End
Sub
2.Ctrl+C (コピー)
3.ヘッダーの表示形式を変更したいブックを開く
4.Alt+F11
(メニュー[ツール]-[マクロ]-[VBE])
→VBE(Visual Basic
Editor)を起動
5.ヘッダーの表示形式を変更したいブックのThisWorkbookをダブルクリック
→コードウィンドウが表示される
6.コードウィンドウ上でCtrl+V
(貼り付け)
→コードウィンドウに、上記1.のコードが貼り付けられる
7.Alt+F4
→VBEが終了して、エクセルに画面が切り替わる
【解説】
左/中央/右、ヘッダー/フッターを指定するには、RightHeaderの部分を以下のどれかに変えます。
LeftHeader 左側のヘッダー
CenterHeader 中央のヘッダー
RightHeader 右側のヘッダー
LeftHeader 左側のフッター
CenterHeader 中央のフッター
RightFooter 右側のフッター
【問題】
印刷でヘッダー、フッターに日付を入力することができますが、 2001/6/11
の
ように西暦表示されます。
これを 平成13年6月11日
のように和暦表示するにはどうしたら良いでしょうか?
【回答】
1.以下のコードの"Private Sub"から"End
Sub"までをマウスのドラッグで選択
Private Sub Workbook_BeforePrint(Cancel As
Boolean)
ActiveSheet.PageSetup.CenterHeader = Format(Date,
"ggge年m月d日")
End
Sub
2.Ctrl+C
3.Excelでヘッダーの表示形式を変更したいブックを開く
4.Alt+F11
→VBEを起動
5.フッターの表示形式を変更したいブックのThisWorkbookをダブルクリック
→コードウィンドウが表示される
6.コードウィンドウ上でCtrl+V
→コードウィンドウに、上記1.のコードが貼り付けられる
7.Alt+F4→VBEが終了して、エクセルに画面が切り替わる
【解説】
左/中央/右、ヘッダー/フッターを指定するには、CenterHeaderの部分を以下のどれかに変えます。
LeftHeader 左側のヘッダー
CenterHeader 中央のヘッダー
RightHeader
右側のヘッダー
LeftHeader 左側のフッター
CenterHeader 中央のフッター
RightFooter
右側のフッター
【問題】
A1:B200に罫線であらかじめ表を作成しています。データ数は毎回変動するので、罫線のみでデータの入っていないページを印刷しないように毎回印刷範囲の設定を行っています。これを自動化できないでしょうか?
【回答】
1.Ctrl+F3
(メニュー[挿入]-[名前]-[定義])
2.[名前]を Print_Area に
3.[参照範囲]を
=OFFSET($A$1,0,0,COUNTA($A:$A),2)
に
4.Enter
【解説】
印刷したい範囲を選択してから、メニュー[ファイル]-[印刷範囲]-[印刷範囲の設定]で印刷する範囲を設定することができます。
こうして設定した印刷範囲には、Print_Areaという名前が自動的につきます。
Ctrl+F3(メニュー[挿入]-[名前]-[定義])でこのPrint_Areaを選択すると、[参照範囲]は、通常、=Sheet2!$A$1:$B$16
のような形式で範囲を指定しています。
この[参照範囲]に上記回答のような数式を入力することで、印刷範囲の自動設定が可能になるわけです。
上記数式は、A列にA1から連続してデータが入っていることを前提にした式です。途中に空白セルがある場合には、期待した結果にならないことがあります。
OFFSET関数は、OFFSET(基準, 行数, 列数, 高さ, 幅)という引数をとります。基準のセルまたはセル範囲から指定された行数と列
だけシフトした位置にある高さと幅のセルまたはセル範囲の参照を返します。
上記式では、基準をセルA1、高さをA列のデータ数分、幅を2、すなわちA:Bといった感じにしています。
名前定義シリーズの時にやった「可変範囲の名前定義で、リストへの追加/削除に自動的に対応」の応用です。詳しくは以下のページをご覧ください。
http://www2.odn.ne.jp/excel/waza/name.html#SEC20
【問題】
印刷されるページ総数を取得する関数はあるのでしょうか?
【回答】
まずは、名前定義です。
1.Ctrl+F3
(メニュー[挿入]-[名前]-[定義])
2.[名前]に例えば 印刷ページ総数 と入力
3.[参照範囲]に =GET.DOCUMENT(50)
と入力
4.Enter
続いて印刷ページ総数を入力するセルを選択して、
1.F3キー
(メニュー[挿入]-[名前]-[貼り付け])
2.「印刷ページ総数」を選択
3.Enterを2回
【解説】
以下のページもご参考になると思います。
[XL95]
印刷されるペ-ジの総数を調べる方法
http://support.microsoft.com/default.aspx?scid=kb;ja;402754&Product=excelJPN
[XL2002] 印刷されるページの総数を調べる方法
http://support.microsoft.com/default.aspx?scid=kb;ja;408042&Product=excelJPN
Excel97が入っているCD内にある Xlmacr8.hlp というファイルに4.0マクロ関数の各関数の説明が入ってます。Excel2000からはこのファイルが収録されなくなったようです。
Xlmacr8.hlpをご覧になるとわかりますが、膨大な量です。これをざっと一読して、わりと使えそうなものピックアップしたのが以下です。
興味のある方はいろいろ試してみてください。
=GET.CELL(6,!A2)
数式
=GET.CELL(17,!A2) セルの高さ
=GET.CELL(24,!A2) 先頭文字の色
=GET.CELL(40,!A2) スタイル
=GET.CELL(46,!A2) コメント有無
=GET.CELL(48,!A2)
数式有無
=GET.CELL(58,!A2) フォントタブのスタイル
=GET.CELL(63,!A2) 背景色
=GET.DOCUMENT(9) 最初の行
=GET.DOCUMENT(10) 最後の行
=GET.DOCUMENT(11) 最初の列
=GET.DOCUMENT(12) 最後の列
=GET.DOCUMENT(13) ウィンドウの数
=GET.DOCUMENT(50)
印刷総ページ数
=GET.DOCUMENT(53) 印刷の向き =CHOOSE(印刷の向き,"横","縦")
=GET.DOCUMENT(54)
ヘッダー
=GET.DOCUMENT(55) フッター
=GET.DOCUMENT(71) スタイル名一覧
=INDEX(スタイル名一覧,2)
=GET.DOCUMENT(76) シート名
=GET.DOCUMENT(81) 印刷範囲
=GET.DOCUMENT(82) 印刷タイトル
=GET.DOCUMENT(87) シート位置
=GET.DOCUMENT(88)
ブック名
=GET.WORKBOOK(1)
シート名一覧
=MID(INDEX(シート名一覧,2),FIND("]",INDEX(シート名一覧,2))+1,31)
=GET.WORKBOOK(24)
変更有無
=GET.WORKBOOK(35) ブックの作成者
=GET.WORKBOOK(38) アクティブシート名
=GET.WORKSPACE(26) ユーザー名
=GET.WORKSPACE(27) 所属名
=GET.WORKSPACE(37)
地域 =INDEX(地域,17) →日付の区切り記号を表示
=NAMES(,3) 名前一覧
【問題】
ワークシートのページ設定(印刷の向き、拡大縮小、余白、ヘッダー・フッターなど)をした場合、この設定を他のワークシートにコピーすることは可能でしょうか?
つまり書式コピーのように、データは変えずにページ設定だけをコピーしたいのです。
【回答】
1.ページ設定のコピー元のシートをアクティブに
2.Ctrlキーを押しながらページ設定をコピーさせたいシートのシートタブをクリック
3.メニュー[ファイル]-[ページ設定]
4.[OK]ボタンをクリック
【解説】
複数ワークシートの選択については、以下のページもご参考になるのでは?
【エクセル技道場】−シート−複数のワークシートを選択
http://www2.odn.ne.jp/excel/waza/sheet.html#SEC7
【問題】
マクロを使って、フッターにセル(例えばセルA1)の値を指定するには、どうしたら良いでしょうか?
【回答】
1.以下のコードの"Private
Sub"から"End Sub"までをマウスのドラッグで選択
Private Sub Workbook_BeforePrint(Cancel As
Boolean)
ActiveSheet.PageSetup.RightFooter = Range("A1").Value
End
Sub
2.Ctrl+C (コピー)
3.ヘッダーの表示形式を変更したいブックを開く
4.Alt+F11
(メニュー[ツール]-[マクロ]-[VBE])
→VBE(Visual Basic
Editor)を起動
5.ヘッダーの表示形式を変更したいブックのThisWorkbookをダブルクリック
→コードウィンドウが表示される
6.コードウィンドウ上でCtrl+V
(貼り付け)
→コードウィンドウに、上記1.のコードが貼り付けられる
7.Alt+F4
→VBEが終了して、エクセルに画面が切り替わる
【解説】
これで、セルA1のデータが自動的にフッターに表示されるようになります。
セルA1を右フッターに指定しています。
左/中央/右、ヘッダー/フッターを指定するには、RightFooterの部分を以下のどれかに変えます。
LeftHeader 左側のヘッダー
CenterHeader 中央のヘッダー
RightHeader
右側のヘッダー
LeftHeader 左側のフッター
CenterHeader 中央のフッター
RightFooter
右側のフッター
【問題】
あるブックにシートが6枚あります。
印刷すると1シートは2枚ずつ印刷されます。
各シートにフッターにページ番号をつけるように設定しています。
シートを単独で印刷すると、1,2というページ番号がフッターにつきますが、シートを複数選択して印刷すると、ページ番号が1から12までと、通し番号がついてしまいます。
シートを複数印刷しても、通し番号にならない方法は、ないのでしょうか?
【回答】
1.複数シートを選択
2.メニュー[ファイル]-[ページ設定]
3.[ページ]タブで[先頭ページ番号]が
自動 になっていますが、これを 1
に
4.[OK]ボタンをクリック
【解説】
これで、複数シートを選択して印刷しても、シート毎にページ番号がふられます。
ただし、総ページ数については、選択したシートの合計ページ数のままです。
【問題】
2枚のシートを一枚の紙に印刷するには、どうしたらいいのでしょうか?
【回答】
[図のリンク貼り付け]を利用して、一つのシートにまとめる方法はいかがでしょうか?
1.Sheet2の印刷したい範囲を選択してCtrl+C
(コピー)
2.Sheet1を選択
3.Shiftキーを押しながらメニュー[編集]
4.[図のリンク貼り付け]
【解説】
Shiftキーを押しながらクリックすると、一部のコマンドでは別の機能が使えます。
詳しくは、以下のページをご覧ください。
【エクセル技道場】−ツールバー−メニューバー/ツールバーの表と裏
http://www2.odn.ne.jp/excel/waza/toolbar.html#SEC5