0
エクスポートするワークシートを選択するワークブックがあります。 これが毎回変化しますし、ワークシートの名前は、細胞Y48に表示されます。これらは、上記選択されているかどうかに基づいてY55: selected cells and populated list配列を使用して印刷するワークシートを指定する
私はエクスポートするために呼び出すことができる動的配列を埋めるために、このリストを使用したいです配列内のシートのみをpdfします。私は私がメッセージボックスに表示することができVBAで配列を持っている
、私はちょうど(アレイ(myarrayの)は、コードの一部を.selectシートにそれを得ることができません。
私はすべて入力した場合それは機能するかどうかを選択しますが、myarrayから個々の値を取得する方法はわかりません。
申し訳ありませんコーダが、私はこのどこかを見つけることができません
これまでのところ、それは次のようになります。
Dim myarray() As String, size As Integer, i As Integer
size = WorksheetFunction.CountA(Range("y48:y55"))
ReDim myarray(size)
For i = 1 To size
myarray(i) = Cells(i + 47, 25).Value
Next i
MsgBox (size)
MsgBox Join(myarray, vbCrLf)
Sheets(myarray().Select
Sheets("COVER").Activate
answer = MsgBox("Do you want to export to PDF?", vbYesNo + vbQuestion, "Export to PDF")
If answer = vbYes Then
fileSaveName = Application.GetSaveAsFilename("", fileFilter:="PDF (*.pdf), *.pdf")
If fileSaveName <> False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fileSaveName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
End If
Sheets("REPORT").Select
それは前の選択だ失うことはありませんので、
For i = Lbound(myarray,1) to Ubound(myarray,1)
Worksheets(myarray(i)).Select False
Next i
虚偽がそれを作る:その代わりSheets(myarray().Select
を使用しての
End Subの
こんにちはカイル、ワークシート(myarray(myarray(i))に範囲外の添え字を返します。お試しいただきありがとうございます – user3412679
まず、実際に入力した方法であれば、ワークシート(myarray(myarray(i))。Fals'を選択します。それ以外の場合、ワークシートは存在しません。 – Kyle