準・究極の選択

このコードはコマンド押下
1.エクセルブックをセルの値の名前で
フォルダをつくりエクセルのデータ
をいれます。ここまでは完成しています。
2.ここから
シート1 シート3 
のシートだけをPDFにして
作成されたフォルダに
いれたいのですが、なかなか正直
わかりません。
できる方おしえてくれませんでしょうか
完成は
フォルダ---エクセルのデータ
      シート1pdf
      シート2pdf
ということになります。

Private Sub CommandButton1_Click()
Dim fso As Object
Dim r As String
Dim i As Long
Dim box As Variant
box = Array(1, 3)

Set fso = CreateObject("Scripting.FileSystemObject")

f = ThisWorkbook.Path & "\" & Range("h1").Value

On Error Resume Next

If Not (fso.folderexists(f)) Then
fso.createfolder f

Else
MsgBox "aru"
End If

ActiveWorkbook.SaveAs Filename:=fso.buildpath(f, fso.getbasename(f))
For i = LBound(box) To UBound(box)
Worksheets(box(i)).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Worksheets(box(i)).Name
Next i
End Sub

質問者からの補足コメント

  • うーん・・・

    エクセルのデータしか保存されませんでした。

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/07/24 07:01

A 回答 (1件)

ActiveWorkbook.SaveAs Filename:=fso.buildpath(f, fso.getbasename(f))


For i = LBound(box) To UBound(box)
Worksheets(box(i)).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Worksheets(box(i)).Name
Next i

For i = LBound(box) To UBound(box)
Worksheets(box(i)).ExportAsFixedFormat Type:=xlTypePDF, Filename:=f & "\" & Worksheets(box(i)).Name
Next i
ActiveWorkbook.SaveAs Filename:=fso.buildpath(f, fso.getbasename(f))
にかえてください。
この回答への補足あり
    • good
    • 0
この回答へのお礼

失礼いたしました。問題ありませんでした。

お礼日時:2018/07/24 07:13

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