dポイントプレゼントキャンペーン実施中!

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "sheet1" Then

If Range("M1").Value = "" Then
Cancel = True
MsgBox ("名前を入力してください")
Range("M1").Select
Exit Sub
End If

ElseIf ActiveSheet.Name = "sheet2" Then

If Range("A47").Value = 文字 Then
Cancel = True
   MsgBox ("日付を入力してください")
Range("A47").Select

Exit Sub
End If

Exit Sub
End If


End Sub

上記は印刷をする前に実行されるコードですが、上記を実行して印刷をした後に自動で下記のVBAを実行したいのですが

Sub データー取り込み()

ActiveSheet.Range("B2000:Z2000").Copy

ChDir "\\データーA\データーB\データーC\データーD"
Workbooks.Open Filename:="\\データーA\データーB\データーC\データーD\データーシート1.xls"
Sheets("顧客データー").Select

If Worksheets("顧客データー").Range("B18").Value = "" Then
Worksheets("顧客データー").Range("B18").PasteSpecial Paste:=xlPasteValues
Else
Worksheets("顧客データー").Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlPasteValues
End If

ActiveWorkbook.Save
ActiveWindow.Close

End Sub

上記のコードと下記のコードをどのように絡めたらいいのかわかりません。アドバイスお願いします。

A 回答 (1件)

以下の一行を



Private Sub Workbook_BeforePrint(Cancel As Boolean)
の最後(End Subの前)に挿入します。

Application.OnTime Now, "データー取り込み"


だけど、If Range("A47").Value = 文字 Then っておかしくないですか?
変数なのかな。
    • good
    • 0
この回答へのお礼

教えてもらったのでやってみたら、なんか上手くいきそうです。If Range("A47").Value = 文字 Then の文字の部分は僕も良くは判らないんですが多分関数がA47に反映されてる時(例えば=B5とか引っ張って日付をあらわす時で)""だと上手くいかないけど文字にすると大丈夫って言う感じでしょうか。アドバイス有難うございました。

お礼日時:2009/02/26 13:50

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