みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

印刷後のVBAの実行 (2)

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  If ActiveSheet.Name = "Sheet1" Then
    If Range("D6").Value = "" Then
      Cancel = True
      MsgBox ("名前を入力してください")
      Range("D6").Select
      Exit Sub
    End If
  Else
    If ActiveSheet.Name = "Sheet2" Then
      If Range("C11").Value = "" Then
        Cancel = True
        MsgBox ("受付時間を入力してください")
        Range("C11").Select
        Exit Sub
      End If
    Else
      
      Exit Sub
    End If
  End If

  ActiveSheet.Range("A70:Y70").Copy
  If Worksheets("Sheet3").Range("A1").Value = "" Then
    Worksheets("Sheet3").Range("A1").PasteSpecial Paste:=xlPasteValues
  Else
    Worksheets("Sheet3").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial _
      Paste:=xlPasteValues
  End If
  Application.CutCopyMode = False
  ActiveSheet.Range("A1").Select
End Sub
先日、上記のコードを回答者の方から教えてもらい、とても助かっていますが
sheet1のD5に「不要」という文字が入っていた場合、
sheet3への貼り付け(23~30行目の作業)をキャンセルして、最後にsheet1のA1を選択するようにはどの様にしたらいいでしょうか?

投稿日時 - 2008-09-18 13:01:10

QNo.4338010

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

ActiveSheet.Range("A70:Y70").Copy
の前に
If Worksheets("Sheet1")。Range("D5")="不要" then goto p1
と入れて
「P1:」を
Application.CutCopyMode = False
の後に入れる、でどうかな。
小生には質問する理由が判らない(疑問を感じない、問題点を捉えていない)ので見当外れかも知れないが。

投稿日時 - 2008-09-18 13:42:35

補足

sheet2のD5にも「不要」の文字が入っていたら、同じ様な処理をする様にはできますか?(後から追記してすんません)

投稿日時 - 2008-09-18 15:25:23