アプリ版:「スタンプのみでお礼する」機能のリリースについて

Sub PDF_指定したワークシート()
Dim sh As Worksheet
Dim sh2 As Worksheet

Set sh = Worksheets(1)
Set sh2 = Worksheets(2)


sh.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sh.Name

sh2.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sh2.Name

End Sub


このコード一つにまとめて処理したいのですが。
わかりません。

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

  • うーん・・・

    dim box as vairant
    box = array(1,3)
    for i = 1 to ubound(box)
    この場合だとなぜかworksheets(1)だけしか
    PDFになりません

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/07/18 15:21
  • うーん・・・

    Public Sub PDF_指定したワークシート()
    ExportPdf(Worksheets(1))
    ExportPdf(Worksheets(2))
    End Sub

    Private Sub ExportPdf(ByRef ws As Worksheet)
    どこに貼り付けたらいいかわからない

    No.2の回答に寄せられた補足コメントです。 補足日時:2018/07/18 16:31

A 回答 (4件)

No.1の補足


> box = array(1,3)
> for i = 1 to ubound(box)
> この場合だとなぜかworksheets(1)だけしか

ubound(box)の値は1です
だから
for i = 1 to 1 となって、worksheets(1)だけしか対象になりません

もしかして、こうしたいのでしょうか。

box = array(1,3)
For i = LBound(box) To UBound(box)
  Worksheets(box(i)).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Worksheets(box(i)).Name
Next
    • good
    • 0
この回答へのお礼

ありがとうございました
なかなか簡単そうで難しいです。
ありがとうございました

お礼日時:2018/07/18 16:27

No1です



>dim box as vairant
>box = array(1,3)
>for i = 1 to ubound(box)
>この場合だとなぜかworksheets(1)だけしか

ご自分で書いたものをトレースしてみればわかるはずと思います。
・まず1行目でエラーが出ます
・ループ内の記述が不明なのでわかりませんが、常識的にはworksheets(1)ではなくworksheets(3)が出力されるのではないですか?
・「worksheets(1)だけ」というのであれば、ループ内の記述をworksheets(i)としている?(この記述だと、まったく違うシートが出力される可能性があります)

ヒント:LBound(box)を調べてみればわかるかと
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2018/07/18 16:32

こういうこと?



Public Sub PDF_指定したワークシート()
ExportPdf(Worksheets(1))
ExportPdf(Worksheets(2))
End Sub

Private Sub ExportPdf(ByRef ws As Worksheet)
ws.ExportAsFixedFormat
Type:=xlTypePDF,
Filename:=ws.Name
End Sub
この回答への補足あり
    • good
    • 0
この回答へのお礼

有難うございました。

お礼日時:2018/07/18 16:32

ご質問の意味がよくわからないけれど・・・



For i = 1 To 2
Worksheets(i).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Worksheets(i).Name
Next
この回答への補足あり
    • good
    • 0
この回答へのお礼

有難うございました。

お礼日時:2018/07/18 16:32

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