エクセル97を使っています。ブック全体とか複数のシートを一度に印刷したりできるでしょうか。一枚一枚指定しては印刷ということの繰り返しは、非常に面倒です。よい方法がありましたら、ご教示ください。それから、ブック全体とか複数のシートの文字の字体だけをすべて変更したいのですが(具体的には、ゴシックを明朝に)どのようにすればよいのかわかりません。あわせてご教示ください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

シート見出しをShiftキーを押しながら選択すると、複数のシートを選択できます。

Ctrlキーを押しながらなら、とびとびでも。

この状態で印刷すると、複数のシートを連続して印刷できます。

複数のシートを選択した状態で、
シート全体を選択します。(列見出し(A,B,C...)、行見出し(1,2,3...)の交差したところをクリック)
書式-フォントでフォントの変更をします。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございます。シートが30枚もあるものを、一枚一枚印刷していたので非常に助かります。

お礼日時:2002/01/31 20:53

#1の方の回答以外のブック全体の印刷についてですが、


1つまたは複数のブックを同時に印刷する場合は、
まず、
印刷するブックは、すべて同じフォルダに保存されている必要があります。

[ファイル] メニューの [開く] をクリックします。

Ctrl キーを押しながら、印刷するブック名をクリックします。

[ファイル] メニューの [印刷] をクリックします。
これで、一括で印刷できます。
    • good
    • 0
この回答へのお礼

回答いただきありがとうございます。このような方法もあるのですね。

お礼日時:2002/01/31 21:02

ブック全体を一度に更新するには、


「ファイル」>「印刷」の中に「印刷対象」があります。
ここで、ブック全体を指定すればブック全体の印刷が可能です。
また、複数シートを一度に印刷する場合は、Ctrlキーを押しながら印刷したいシートを選び、印刷をすれば選択したシートがすべて印刷できるはずです。
最後にブック全体又は複数シートのフォントを一度に変える方法ですが、まずCtrlキーを押しながらフォントを変えたいシートを選択していきます。
その後、一番左上のセルをクリックするかCtrl+aキーを押し、任意のフォントにすれば変更されます。

こんなトコです。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございます。シートの枚数が多かったので困っていました。非常に助かります。

お礼日時:2002/01/31 20:58

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBAマスターブックの作成につきまして 質問致します 複数のブックに複数のシートが有ります 保存ファ

VBAマスターブックの作成につきまして
質問致します
複数のブックに複数のシートが有ります
保存ファイルは1つにまとめてあります

マスターブック
セルB5にブック名
セルD5にシート名
を入力して該当するブックのシートを
開くようなマクロを作成したいのですが
上手く行きません

マクロ初心者の為
記入内容をわかりやすく教えて頂けないでしょうか
よろしくお願いします。

Aベストアンサー

以下のマクロを標準モジュールへ登録してください。
----------------------------
Public Sub 検索処理()
Dim sh As Worksheet
Dim dir_name As String
Dim book_name As String
Dim sheet_name As String
Dim book_path As String
Set sh = Worksheets("検索")
dir_name = sh.Range("B3").Value
book_name = sh.Range("B5").Value
sheet_name = sh.Range("D5").Value
book_path = dir_name & "\" & book_name
If dir(dir_name, vbDirectory) = "" Then
MsgBox (dir_name & "は存在しません。")
Exit Sub
End If
If dir(book_path) = "" Then
MsgBox (book_name & "は存在しません。")
Exit Sub
End If
Workbooks.Open book_path
Workbooks(book_name).Activate
If ExistsWorkSheet(sheet_name) = False Then
MsgBox (book_name & "中に" & sheet_name & "は存在しません")
Workbooks(book_name).Close
Exit Sub
End If
Worksheets(sheet_name).Activate
Range("A1").Activate
MsgBox ("検索完了")
End Sub

'ワークシートの存在チェック
Public Function ExistsWorkSheet(ByVal sheetName As String) As Boolean
Dim ws As Worksheet
ExistsWorkSheet = False
For Each ws In Worksheets
If UCase(ws.name) = UCase(sheetName) Then
ExistsWorkSheet = True
Exit Function
End If
Next ws
End Function
------------------------------------
添付の図のようにセルに検索条件が設定されていることが前提です。
B3:フォルダ名
B5:ファイル名(ブック名)
D5:シート名

以下のマクロを標準モジュールへ登録してください。
----------------------------
Public Sub 検索処理()
Dim sh As Worksheet
Dim dir_name As String
Dim book_name As String
Dim sheet_name As String
Dim book_path As String
Set sh = Worksheets("検索")
dir_name = sh.Range("B3").Value
book_name = sh.Range("B5").Value
sheet_name = sh.Range("D5").Value
book_path = dir_name & "\" & book_name
If dir(dir_name, vbDirectory) = "" Then
Msg...続きを読む

Q【質問】ブック名AからシートをブックBへ移動する時、ブックAにシートを残してブックBにもコピーするには?

こんにちは、みなさん!!

【質問】ブックAのシートを、ブックBに移動する時に、ブックAにも
同シートを残しておき、さらに、ブックBに同シートを移動する事は
できますか?ドラック&ドロップでは、ブックAにシートはなくなり、
完全に、ブックBに移動されてしまいます。

ご存知の方いらっしゃいましたらよろしくお願いします。

Aベストアンサー

はじめまして

ブックAの該当シートタブを右クリック、移動またはコピーを選択、移動先ブックをブックBに、コピーを作成するにチェックを入れてOK。
これでいけます。

また、ドラッグアンドドロップでするなら、「CTRL」キーを押しながらやってみてください。
移動ではなくコピーになります。

的外れでしたらごめんなさい。

Q複数シートの一部をシート一枚にまとめるには?

住所録があります。 一枚のシートに住所、名前、電話番号が横にならんで3つのセルに記載されているのですが毎月100シートほど出来上がっておりこれを一枚のシートに手入力で転記しております。
あまりにも非効率的なのでVBA等で一括処理をしたいのですがどうすればよいでしょうか?

Aベストアンサー

こんにちは。
既に回答は出ているようですが、こんな風にしたらどうでしょうか。

iHEAD オプションのタイトルというのは、

 住所  名前  電話番号

こうなっていることです。

すでに集計用のシートが決まっているなら、このようにします。
ただし、集計用のシートは、右端に追いやられます。

先頭に、(') をいれ、コメントブロックします。
  'Set DataSh = .Worksheets.Add(After:=.Worksheets(.Worksheets.Count))

コードのコメントブロックを外します。
 ''集計用のシートがすでに決まっているなら、上の行に、「'」を付けて、ここに登録する
  Set DataSh = .Worksheets(シート名)
  If DataSh.Index <> .Worksheets.Count Then
    DataSh.Move After:=.Worksheets(.Worksheets.Count)
  End If

行が満杯になったら、新しいシートが右隣に、加えられます。

標準モジュール
'-----------------------------------------------
Sub TransferData()
  Dim DataSh As Worksheet
  Dim i As Integer
  Dim j As Long
  Dim n As Long
  Dim k As Integer
  Const iHEAD As Integer = 1 '(0はタイトルなし、1はタイトルあり)
  If iHEAD > 1 And iHEAD < 0 Then MsgBox "iHEAD エラー!", , "定義エラー": Exit Sub
  Const mErrNum As Integer = 513
  
  With ActiveWorkbook
    '--------------------
    Set DataSh = .Worksheets.Add(After:=.Worksheets(.Worksheets.Count))
    
    ''集計用のシートがすでに決まっているなら、上の行に、「'」を付けて、ここに登録する
    'Set DataSh = .Worksheets("Sheet1")
    'If DataSh.Index <> .Worksheets.Count Then
    ' DataSh.Move After:=.Worksheets(.Worksheets.Count)
    'End If
    
    If iHEAD > 0 Then
      .Worksheets(1).Range("A1:C1").Copy DataSh.Range("A1")
    End If
    '--------------------
    k = 1 'データ集計シート
    
    On Error GoTo ErrHandler
    For i = 1 To .Worksheets.Count - k
      Application.ScreenUpdating = False
      With .Worksheets(i)
        j = DataSh.Cells(Rows.Count, 1).End(xlUp).Offset(1).Row
        If iHEAD = 0 And j = 2 Then j = 1
        n = .Cells(Rows.Count, 1).End(xlUp).Row
        If (j + n) < Rows.Count Then
          .Range(.Range("A1").Offset(iHEAD), .Cells(Rows.Count, 1).End(xlUp).Offset(, 2)).Copy _
          DataSh.Cells(j, 1)
        Else
          Err.Raise 513
        End If
      End With
      Application.ScreenUpdating = True
    Next

ErrHandler:
    If Err.Number = mErrNum Then
      Set DataSh = .Worksheets.Add(After:=.Worksheets(.Worksheets.Count))
      i = i - 1
      If iHEAD > 0 Then
        .Worksheets(1).Range("A1:C1").Copy DataSh.Range("A1")
      End If
      k = 2
      Resume Next
    ElseIf Err.Number > 0 Then
      MsgBox Err.Number & ": " & Err.Description
    End If
  End With
  Set DataSh = Nothing
End Sub

こんにちは。
既に回答は出ているようですが、こんな風にしたらどうでしょうか。

iHEAD オプションのタイトルというのは、

 住所  名前  電話番号

こうなっていることです。

すでに集計用のシートが決まっているなら、このようにします。
ただし、集計用のシートは、右端に追いやられます。

先頭に、(') をいれ、コメントブロックします。
  'Set DataSh = .Worksheets.Add(After:=.Worksheets(.Worksheets.Count))

コードのコメントブロックを外します。
 ''集計用のシートがすでに...続きを読む

Qシート全体を他のブックのシートとリンクさせたい

エクセル2010を使っている者です。

(1)Aファイル中のあるシート全体をBファイル中の指定したシート(別ファイルになってますが、フォーマットはほぼ同じです)とリンクさせ、外部参照してデータを取り込めるようにすることは可能ですか?

(2)また、AファイルがBファイルのデータを外部参照するというよりは、Aファイル、Bファイルの当該シートに変更があった場合は、お互いに変更箇所を取り込めるようにするこは可能ですか?
(これは外部参照ではなく、共有というのでしょうか)


どちらか片方であってもありがたいので、ご教授願います。

Aベストアンサー

基本の手順としては
「元」になるAブックの該当シートのセル(セル範囲)をコピー
「先」となるBの該当セル(セル範囲)に形式を選んで貼り付けの「リンク貼り付け」する
ことで、元から先にデータをリンクします。

#その後必要の範囲に応じて、書式を工夫したりもうちょっと数式を作成したりして、見た目を整えます。



エクセルのデータ参照の流れは、常に「元」から「先」への一方向だけです。
双方向にリンク(反映)する方法はありません。

エクセルでは通常、全ての「元」となるマスタデータベース(リスト)を1本(1つのシートに)用意、全ての編集や修正、追加等はすべてマスタのリストに対して行い、帳票(AのシートやBのシート)は、共にマスタから必要なデータを参照して「表示するだけ」という具合に作成するのが上手なエクセルの使い方です。


ご相談のように双方向のデータ反映がどうしても必要であれば、たとえばアクセスのように、そういう事ができるデータベースソフトを利用します。
まぁ出来ると言えばエクセルマクロを駆使して、そういう事ができるようコツコツ手作りする事もやればできますが、大概は苦労ばっかり多くて益はありません。

基本の手順としては
「元」になるAブックの該当シートのセル(セル範囲)をコピー
「先」となるBの該当セル(セル範囲)に形式を選んで貼り付けの「リンク貼り付け」する
ことで、元から先にデータをリンクします。

#その後必要の範囲に応じて、書式を工夫したりもうちょっと数式を作成したりして、見た目を整えます。



エクセルのデータ参照の流れは、常に「元」から「先」への一方向だけです。
双方向にリンク(反映)する方法はありません。

エクセルでは通常、全ての「元」となるマスタデータベース(...続きを読む

Qエクセルで印刷の範囲をブック全体にした時に全てが印刷されなかった

ブック全体を印刷しようとしたら5・6枚を残して印刷が途中で終わりました。
シートが27枚もあるのが原因なのか
1回の印刷の容量が大きすぎたのか

原因がわかりません。回答お願いします

Aベストアンサー

こんにちは。

ひとつは、印刷する前に印刷範囲が希望どおりになっていないものになっていた可能性があります。シートが27枚と書かれていますが、印刷枚数が大量の場合は、また、別問題だと思います。Excelからプリンタ・ドライバに渡すときに、プリンタバッファに収容しきれなくなった可能性があります。そういう場合は、プリンタ・ドライバにエラーが出てくることがあります。

こういう時を備えて、マクロでは、バッファの吐き出し時間を考慮して作ります。


人気Q&Aランキング

おすすめ情報