人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルVBAでお願いします。1つのブックに複数シートがあって、その3番目から最後のシートまで選択して印刷プレビューをかけたいと思っています。仮に1番目のシート名が"設定"、2番目のシート名が"名簿"だとすると、この2つのシートは印刷しない、選択しないということです。印刷が終わったら、ブックを保存しないで閉じて、また開きたいです。つまり、'ブックを最後に保存した状態に戻したいです。なお、Worksheets(Array("Sheet3", "Sheet4", "Sheet5")).Selectのような記述はうまくいきません。また、エクセル2002です。

●質問者: anglar
●カテゴリ:コンピュータ
✍キーワード:SELECT VBA エクセル プレビュー 印刷
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● angemaries
●35ポイント

不要なシートを非表示にして、全シート印刷、保存しないで閉じる

Worksheets("設定").Visible = False

Worksheets("名簿").Visible = False

ActiveWorkbook.PrintOut Copies:=1, Collate:=True

ActiveWorkbook.Close SaveChanges:=False

http://www.yahoo.co.jp

◎質問者からの返答

回答ありがとうございました。ただし、印刷プレビューをかけたいと思っています。変更できますか?


2 ● ardarim
●35ポイント

自分自身を閉じてまた開くというのは不可能ですので、そういうことを行うには別のブックにVBAを登録して、そのブックから印刷したいブックを開く必要があります。

やりたいこと(全体)がいまいち分からないので、とりあえず保存せずに閉じるところまでのサンプルです。

Option Base 1

Sub test()

 Dim sheetArray() As String

 ReDim sheetArray(Sheets.Count - 2)
 For i = 3 To Sheets.Count
 sheetArray(i - 2) = Sheets(i).Name
 Next i
 Sheets(sheetArray).Select

 ActiveWindow.SelectedSheets.PrintPreview
 
 ThisWorkbook.Close saveChanges:=False

End Sub

URLはダミー

http://q.hatena.ne.jp/1238248579

◎質問者からの返答

ありがとうございました。思った通りの結果になりました。感謝。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ