標題の通り、複数のシートエクセルシートをPDF化しようとすると、ばらばらのPDFファイルとして出来上がってしまいます。
複数のシートを1つのファイルにPDF化するにはどうしたらよいのでしょうか。

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

A 回答 (2件)

Ctrlキーを押しながら、複数シートを選択して、メニューから[ファイル]>[印刷]として、Acrobat の仮想プリンタ「Acrobat Distiller」でPDF化すると複数シートも一括でいけると思います。



Acrobat Distillerは追加インストールが必要かもしれません。
    • good
    • 1
この回答へのお礼

連絡が遅くなってしまいすみませんでした。
教えていただいた方法でやってみたいと思います。
ありがとうございました。

お礼日時:2005/08/09 01:09

No.1の方の答えで正解と思いますが余談を。


富士ゼロックスのDocuWorksを用いると、Excel、Word等の文書を一つにまとめられます。Acrobat Elementも付属しますので、そこからpdfに変換できます。もちろん、以上の事は本家Acrobatでも出来ますが、DocuWorksの方が早くて安い。WEBの情報収集に重宝しています。
    • good
    • 0
この回答へのお礼

連絡が遅くなってしまいすみませんでした。
情報ありがとうございます。

お礼日時:2005/08/09 01:14

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qシートを複数持つExcelファイルを複数ファイル結合する方法

シートを複数持つExcelファイルを複数ファイル結合する方法
○○○工事・▲▲▲工事・■×○工事・・・・と複数のEXCELファイルが有り
そのファイルの中には共通してA・B・C・D・・・・シートがあります。

各EXCELファイルの同じ名前のシートを取り出して1つのファイルにしたいと思っています。
1つのファイルにした時、各シート名が抜き出したファイル名になるようにしたいです。

50ファイル以上ありシート数が20ある為、なんとかいい方法をお教え下さい。

Aベストアンサー

以下の条件で作ってみました。

1.各ファイルは同一のフォルダー内にある。
2.各ファイルはすべて閉じてある。
3.以下のマクロは各データとは別のファイルの標準モジュールに書き、同一フォルダー内に保存する。
4.そのフォルダー内には統合したいファイルと上記3で作成したファイル以外は存在しない。
5.統合されたファイルは同一ファイル内に保存される。

エクセル2000で作成したものです。
2007なら拡張子を変えないとエラーになると思います。

手順は以下のとおりです。

1.新しいBOOKを開き、AltキーとF11キー同時に押し(以下Alt+F11キーと記述)て Visual Basic Editor を呼び出します。
2.Visual Basic Editor のメニューから「挿入」、「標準モジュール」で出てきたコードウィンド(右側の白い広い部分)に以下のコード(Sub~End Sub)をコピペします。

'********これより下**********

Sub Consolidation()
  Dim mb As Workbook, wb As Workbook, nwb As Workbook
  Dim ws As Worksheet
  Dim myFd As String, fnm As String
  
  Application.ScreenUpdating = False '画面更新を一時停止
  Set mb = ThisWorkbook 'このコピー先ブックをmbとする。
  myFd = ThisWorkbook.Path
  fnm = Dir(myFd & "\*.xls") 'フォルダ内のExcelブックを検索
  Do Until fnm = Empty '全て検索
    If fnm <> mb.Name Then 'ブック名がこのブックの名前でなければ
      On Error Resume Next
      Set wb = Workbooks(fnm)
      On Error GoTo 0
      If wb Is Nothing Then '開いてなければ
        Set wb = Workbooks.Open(myFd & "\" & fnm) 'そのブックを開きwbとする。
        For Each ws In wb.Worksheets '各シート
          On Error Resume Next
          Set nwb = Workbooks(ws.Name & ".xls")
          On Error GoTo 0
          If nwb Is Nothing Then 'シートと同名のBOOKが開いていなければ
            ws.Copy 'シートコピーして
            ActiveWorkbook.SaveAs myFd & "\" & ws.Name & ".xls" 'BOOK作成
          Else '開いていれば
            ws.Copy After:=nwb.Sheets(nwb.Sheets.Count) 'シートコピー
          End If
          Set nwb = Nothing
        Next
        wb.Close (False) '保存の有無を聞かずに保存しないで閉じる
      End If
      Set wb = Nothing
    End If
    fnm = Dir 'フォルダ内の次のExcelブックを検索
  Loop '繰り返す
  Application.ScreenUpdating = True '画面更新一時停止を解除
End Sub

'********これより上**********

3.Alt+F11キーでワークシートへもどります。
4.名前を付けて対象となるファイルのある一フォルダー内に保存する。(パス取得のためマクロ実行前に必ず一度は「保存」してあることが必要です。)
5.Alt+F8キーで出てきたマクロ名(Consolidation)を選択して実行します。

以下の条件で作ってみました。

1.各ファイルは同一のフォルダー内にある。
2.各ファイルはすべて閉じてある。
3.以下のマクロは各データとは別のファイルの標準モジュールに書き、同一フォルダー内に保存する。
4.そのフォルダー内には統合したいファイルと上記3で作成したファイル以外は存在しない。
5.統合されたファイルは同一ファイル内に保存される。

エクセル2000で作成したものです。
2007なら拡張子を変えないとエラーになると思います。

手順は以下のとおりです。

1.新しいBOOKを開き、Al...続きを読む

Qエクセルの複数シートを同ファイル内に簡単にリスト化する方法は?

宛先毎にシートを分け請求書を作成しています。
sheet1に下記の項目の一覧表(早見表)を作りたいと思います。
宛先、件名、金額
私の能力では各シートへいき ”=セル” で一つ一つしか出来ないのですがとても時間がかかります。
簡単にリスト化出来る術をご教授下さい。宜しくお願いします。

Aベストアンサー

以下のマクロを標準モジュールへ登録し実行してください。
--------------------------------------------------
Option Explicit

'sheet1の他のシートの情報をまとめる
Public Sub Macro1()
Dim sh1 As Worksheet
Dim shw As Worksheet
Dim i As Long
Dim row As Long
Set sh1 = Worksheets("sheet1")
'1行目に見出しを設定
sh1.Cells(1, 1).Value = "宛先"
sh1.Cells(1, 2).Value = "件名"
sh1.Cells(1, 3).Value = "金額"
row = 2 '2行目の設定
'sheet1の右側のシートから最後のシートまで順に処理する
For i = 2 To Worksheets.Count
Set shw = Worksheets(i)
sh1.Cells(row, 1).Value = shw.Range("A5").Value '宛先
sh1.Cells(row, 2).Value = shw.Range("B17").Value '件名
sh1.Cells(row, 3).Value = shw.Range("F40").Value '金額
row = row + 1
Next
End Sub
----------------------------------------------------
実行時の注意事項
1.sheet1は一番左側になければいけません。
sheet1の右側のシートのデータを順に最後まで取り込み、sheet1へまとめます。

以下のマクロを標準モジュールへ登録し実行してください。
--------------------------------------------------
Option Explicit

'sheet1の他のシートの情報をまとめる
Public Sub Macro1()
Dim sh1 As Worksheet
Dim shw As Worksheet
Dim i As Long
Dim row As Long
Set sh1 = Worksheets("sheet1")
'1行目に見出しを設定
sh1.Cells(1, 1).Value = "宛先"
sh1.Cells(1, 2).Value = "件名"
sh1.Cells(1, 3).Value = "金額"
row = 2 '2行目の設定
'sheet1の右側の...続きを読む

Qエクセルで複数ファイルのシートから一つのシートへ結合したい

エクセル上で、
Aフォルダ内にファイルBook1~数十個があり、Book1にはシート名「sh1」、Book2にはシート名「st2」のみがぞれぞれあります。シート内のデータ数はバラバラで何行のデータがあるか不明ですが、列数は同一です。
このファイルすべてを開かずに、今開いている、「加工.xls」のsheet1にまとめたいと思っています。(sh1の下にsh2、その下にsh3・・・を繰り返して、「加工.xls」のsheet1に貼り付ける。行間は空けず一覧表にする。フォルダ内のファイルが無くなったら終了する。)こんな感じのをマクロでやりたいと思っています。

ファイルを開かないで行う方法は、何とか過去の質問を調べてApplication.ExecuteExcel4Macroを使ってやろうとしていますが、応用が利きませんでした。開いていないファイルの最終行をどう取得選択してsheet1に持ってくればよいか分からず悩んでいます。
よろしくお願いいたします。

Aベストアンサー

>すると、tan2のデータが表示されなく、tan1のデータの後6行目に#REF!と入ります。

ごめんなさい。いろいろミスが多かったので、一応テスト済みのものを書きますね。
Sub test1()
mypth = "C:\データのフォルダのフルパス"
wix = 1
For bkno = 1 To 60
  bkmei = "tan" & bkno & ".xls"
  shtmei = "Sh1" & bkno
  dtend = False
  For ixr = 1 To 300
  '1行目が見出しなら1→2、300はデータの最大行数に変更
    For ixc = 1 To 8
      Cells(wix, ixc) = Application.ExecuteExcel4Macro _
       ("'" & mypth & "\[" & bkmei & "]" & shtmei & "'!R" & ixr & "C" & ixc)
      If ixc = 1 And Cells(wix, ixc) = 0 Then
'1列目が文字列の項目で、空白が来ると終了させる
        Rows(wix).ClearContents
        dtend = True
        Exit For
      End If
    Next ixc
    If dtend Then
      Exit For
    End If
    wix = wix + 1
  Next ixr
Next bkno
End Sub

>dtend = True
>の意味ってなんですか?
dtendをデータファイルの最終行を判断するスイッチ(一般的にこのような変数をフラグといいます)にしています。
データファイルの最終行の次の行は、空白になりますよね。これをExecuteExcel4Macroを使用してセルの値を読み出すと帰ってくるのは0(ゼロ)になります。それで、読み込んだデータのA列の値が0なら、最終行であると考えます。
If dtend Then という部分がありますが、これは
If dtend = True Then と同じ意味です。これで最終行以降は(正確には最終行+1行以降は)データファイルの処理をせず、次のデータファイルの処理に移るようにするというのが流れです。

>すると、tan2のデータが表示されなく、tan1のデータの後6行目に#REF!と入ります。

ごめんなさい。いろいろミスが多かったので、一応テスト済みのものを書きますね。
Sub test1()
mypth = "C:\データのフォルダのフルパス"
wix = 1
For bkno = 1 To 60
  bkmei = "tan" & bkno & ".xls"
  shtmei = "Sh1" & bkno
  dtend = False
  For ixr = 1 To 300
  '1行目が見出しなら1→2、300はデータの最大行数に変更
    For ixc = 1 To 8
      Cells(wix, ixc) = Application.Exec...続きを読む

QExcelの複数シート(同じファイル)を1枚のシートにしたい

一つのファイルの中に約30枚のシートがあります。
これを一枚のシートに入れて並び替えをし、比較票を作りたいのです。
コピーして貼り付けて行く以外に良い方法もしくはソフト(フリー)はありませんか?
よろしくお願いします。

http://www.vector.co.jp/soft/win95/business/se318608.html
こちらのソフトを使ってみたのですが、量が多いためか上手く行きませんでした。

Aベストアンサー

エクセルVBAでできそうに思います。
だだし質問の下記の意味が良くわかりません。
>30枚のシートがあ
30のシートの項目数と順序は同じですか。
>一枚のシートに入れて
次々と前までの最後の次の行にくっつけて行けばよいのでしょうか。
>比較票を作りたいのです
比較表とはどんなものですか
>量が多いためか
全体を併せた行が多いのですか。6.5万行を超えるとか。

Q複数のExcelファイルにある同名シートを1つのシートに一括でまとめるには?

フォルダの中に複数のExcelファイルがあり、それぞれのExcelファイルには「All」という名前のシートが存在します。そこで、複数ファイルにあるこのシートのデータをすべて1つのシートにまとめたいと思います。具体的には、「合体.xls」というExcelファイルからマクロを実行し、「合体.xls」に存在する「pAll」という名前のシートにシート「All」の全データを入れたいです。どのようにすれば実現できますか?

Aベストアンサー

やってみました。
「合体.xls」の標準モジュールに下記のコードを書いて実行します。「合体.xls」と同じフォルダ内だけを検索します。

Sub Test()
myPath = ThisWorkbook.Path & "\"
fname = Dir(myPath & "*.xls") 'フォルダ内のExcelファイルを検索します

Do Until fname = Empty '全て検索し終えると、fname = Empty となるので、その間以下を実行します
If fname <> ThisWorkbook.Name Then
Workbooks.Open myPath & fname '選択したファイルを開きます
Set AB = ActiveWorkbook
lr = ThisWorkbook.Sheets("pAll").Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
On Error Resume Next
AB.Sheets("All").UsedRange.Copy
On Error GoTo 0
ThisWorkbook.Activate
Sheets("pAll").Range("A" & lr + 1).Select
ActiveSheet.Paste
AB.Close
End If
fname = Dir '選択したフォルダ内の次のExcelファイルを検索します
Loop
End Sub

やってみました。
「合体.xls」の標準モジュールに下記のコードを書いて実行します。「合体.xls」と同じフォルダ内だけを検索します。

Sub Test()
myPath = ThisWorkbook.Path & "\"
fname = Dir(myPath & "*.xls") 'フォルダ内のExcelファイルを検索します

Do Until fname = Empty '全て検索し終えると、fname = Empty となるので、その間以下を実行します
If fname <> ThisWorkbook.Name Then
Workbooks.Open myPath & fname '選択したファイルを開きます
Set AB = ActiveWorkbook
lr = ThisWorkbo...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報