Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7094 / 13644 ツリー ←次へ | 前へ→

【41220】コピーしたシートのみ全て選択 勉強中です 06/8/2(水) 10:50 質問[未読]
【41234】Re:コピーしたシートのみ全て選択 勉強中です 06/8/2(水) 18:08 発言[未読]
【41235】Re:コピーしたシートのみ全て選択 neptune 06/8/2(水) 19:19 回答[未読]
【41238】Re:コピーしたシートのみ全て選択 勉強中です 06/8/2(水) 20:04 お礼[未読]
【41255】Re:コピーしたシートのみ全て選択 勉強中です 06/8/3(木) 11:47 発言[未読]

【41220】コピーしたシートのみ全て選択
質問  勉強中です E-MAIL  - 06/8/2(水) 10:50 -

引用なし
パスワード
   みなさま こんにちは またお世話になります。
今回はデーターを入力したシートがいっぱいになったらコピーをして
またデーターを入力して、それを印刷するマクロを組んでいます。
コピーするシートがデーター量に応じて変化する為シート数は確定できません
1シートずつ印刷は出来ますがこれをコピーしたシートを全て選択して
一括で印刷は出来無いでしょうか。
また印刷後にそのコピーしたシートを削除もしたいのですがよろしくお願いします
今は1枚ずつ印刷をしています。

基本シートはシート1〜4でコピーシートは右側に追加されていきます。
追加と印刷のコードは以下となっています。
============================================
 Private Sub CommandButton9_Click()

 Range("A39").Value = TextBox1.Value

 Dim i As Integer
 Dim s As String, title As String

 s = "継続しますか?"
 title = "継続の確認"

 i = MsgBox(s, vbYesNo + vbExclamation, title)
If i = vbYes Then
  MsgBox ("シートをコピーします")
  Sheets("新規・特売").Copy after:=Worksheets(Sheets.Count)
   Sheets("新規・特売").Select
  
   Range("A15:M41").ClearContents
 
    Worksheets("マスター").Activate

      UserForm1.Show False

      Unload UserForm3
Else
  MsgBox ("保存しますして終了します!")
  
  ActiveWorkbook.Close savechanges:=True
  
End If

End Sub

Private Sub CommandButton10_Click()

Dim s As Integer

MsgBox ("印刷します!")

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

  Range("A15:M41").ClearContents
  Range("AD9:AJ11").ClearContents
  Range("AM9:AS11").ClearContents
  Range("AZ9:BF11").ClearContents
  Range("BI9:BO11").ClearContents

s = MsgBox("印刷するシートはありますか?", vbYesNo, "印刷の確認")

If s = vbYes Then
  Exit Sub
Else
 MsgBox ("保存しますして終了します!")
  
  Worksheets("マスター").Activate
 
  ActiveWorkbook.Close savechanges:=True
End If
End Sub
============================================

【41234】Re:コピーしたシートのみ全て選択
発言  勉強中です E-MAIL  - 06/8/2(水) 18:08 -

引用なし
パスワード
   みなさまこんばんは、説明が悪いのかそれとも
質問自体がおかしいのか分かりませんが
レスが付かないということは、適切ではなかったと言う事で
反省をしております。
ご迷惑をおかけして、すみませんでした。

【41235】Re:コピーしたシートのみ全て選択
回答  neptune  - 06/8/2(水) 19:19 -

引用なし
パスワード
   ▼勉強中です さん:
>みなさま こんにちは またお世話になります。
>今回はデーターを入力したシートがいっぱいになったらコピーをして
>またデーターを入力して、それを印刷するマクロを組んでいます。
>コピーするシートがデーター量に応じて変化する為シート数は確定できません
>1シートずつ印刷は出来ますがこれをコピーしたシートを全て選択して
>一括で印刷は出来無いでしょうか。
安直ですが、追加したシートを記録しておいて、印刷、削除するってのが
まっとうな方法と思います。
方法は自分で考えてね。
どこかのセルにシート名を記録しておくのがこれまた安直ですが、
わかりやすいとは思います。

但し、
>>今回はデーターを入力したシートがいっぱいになったらコピーをして
という設計自体が問題ありと思いますが。

【41238】Re:コピーしたシートのみ全て選択
お礼  勉強中です E-MAIL  - 06/8/2(水) 20:04 -

引用なし
パスワード
   neptuneさん こんばんは
ご指摘ありがとうございます。
イロイロと他の方法を考えて見ます。

【41255】Re:コピーしたシートのみ全て選択
発言  勉強中です E-MAIL  - 06/8/3(木) 11:47 -

引用なし
パスワード
   みなさま こんにちは、 イロイロ考えて行コピーをして
行う事にしました。 結果コードは以下となっています。
ご報告まで
=================================================
Private Sub CommandButton9_Click()

Range("A39").Value = TextBox1.Value

Dim i As Integer
Dim s As String, title As String

s = "継続しますか?"
title = "継続の確認"

i = MsgBox(s, vbYesNo + vbExclamation, title)

If i = vbYes Then
  MsgBox ("用紙を追加します")
  ’用紙一枚分をコピーして挿入
  Rows("1:47").Copy
 
  Rows("1:1").Select
  Selection.Insert Shift:=xlDown
  
  Range("A15:M41").ClearContents
  ’ページ設定を行う
MsgBox ("ページ設定をして下さい" & Chr(13) & _
     "設定後に入力フォームへ戻るを押してください")
    
Else
  MsgBox ("印刷して終了します")
  
  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
  
    Range("A15:M41").ClearContents
    Range("AD9:AJ11").ClearContents
    Range("AM9:AS11").ClearContents
    Range("AZ9:BF11").ClearContents
    Range("BI9:BO11").ClearContents
    Rows("48:470").Delete
     Worksheets("マスター").Activate

  ActiveWorkbook.Close savechanges:=True

End If

End Sub
Private Sub CommandButton10_Click()

MsgBox ("印刷を開始します!")

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

  Range("A15:M41").ClearContents
  Range("AD9:AJ11").ClearContents
  Range("AM9:AS11").ClearContents
  Range("AZ9:BF11").ClearContents
  Range("BI9:BO11").ClearContents
  Rows("48:470").Delete
MsgBox ("保存しますして終了します!")
  
  Worksheets("マスター").Activate
 
  ActiveWorkbook.Close savechanges:=True

End Sub
 
Private Sub CommandButton11_Click()
’フォームに戻る
Worksheets("マスター").Activate
 
  UserForm1.Show False

  Unload UserForm3
End Sub
=================================================

7094 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free