前提・実現したいこと
エクセルVBAで、ボタンを押したら、班名を変えながら一括で印刷するマクロを組んでおります。
おおよそ出来たのですが、一部思ったようにいかないことがあります。
添付画像を見ていただきたいのですが、R6のセルに班名が記載してあります。
1班〜2班まであるのですが、その班名を選択すると、M10のセルの数字が変わります。
それを「図のリンク貼り付け」でG10あたりに貼り付けている状況です。
ここで、1班→300 、 2班→366 という数字が正しいとします。
印刷マクロを登録したボタンを、R6のセルが2班になっている状態で押すと、1班:366、2班:366という誤った状態で印刷されます。
最初に印刷する1班の数字が、更新されずに先に印刷されてしまいます。
やっかいなのは、時々うまくいくことがあるという点です。うまくいくときと、行かないときの違いはわかりません。
色々試している内に、コードも汚くなってしまっています。何かスマートな解決方法がありましたら、どなたかご教授していただけないでしょうか。
エクセル2016利用です
該当のソースコード
Sub Print_out()
With Application
' .ScreenUpdating = False ここはコメントアウトしてみました
.EnableEvents = False
End With
With ActiveSheet
.Range("R6").Value = "1班"
End With
Application.Wait Now() + TimeValue("0:00:03")
With ActiveSheet
.Range("R6").Value = "1班"
.Range("R6").Select
.PrintOut
.Range("R6").Value = "2班"
.PrintOut
End With
With Application
' .ScreenUpdating = True ここはコメントアウトしてみました
.EnableEvents = True
End With
End Sub
試したこと
リンク貼り付けの値が更新される前に印刷されているのかと思い、Waitを使って時間差を作ってみたのですが、それでもうまくいきません。
ScreenUpdatingやEnableEventsもいじったりしてみたのですが、だめでした。
回答2件
あなたの回答
tips
プレビュー