ブックが開いているかどうかを確認し、別のブックのデータをコピーして貼り付けるVBAサブがあります。これは、application.ontimeループ内で自動的に行われます。私は通常、それを最小限にしておき、他のものを操作してExcelデータのコピー/貼り付けを時折チェックします。時々Excelは、宛先ブックが開いていることを示すボックスをポップアップし、それを再度開くかどうかを尋ねます。ポップアップしてからブックをチェックするまでの間に、多くのサブランが見逃されました。問題が発生した場所にVBAを使用してExcelプロンプトを自動的に受け付ける方法は?
コード:
If dataset Is Nothing Then
Set dataset = Workbooks.Open("C:\Users\Ken\Desktop\Df.xlsx")
Else
Set dataset = Workbooks("Df.xlsx")
End If
私はExcelが自動的にこのような状況に対処するために持って何ができますか?
セカンダリ質問:Excelで保存しないで実行したときにワークブックに触れてしまい、最後に保存してから変更があると思う可能性があると思われます。これが理由だと誰かがコメントできますか?
実際にどのような行が表示されるのかを確認できますか?私のExcel 2013では、すでに開いているワークブックを開くようにブックブック変数を設定しようとすると、既に開いているワークブックに設定され、ポップアップがスローされません – user3598756
@ user3598756 Excel 2016でテストしました。 2回はエラーは発生しませんが、コードを呼び出すブックを開こうとすると、ポップアップが表示されます(例えば、 'Workbooks.Open ThisWorkbook.FullName')。 –
@ user3598756それを指摘してくれてありがとう。 –