VBAには、異なるブックの同じタブ名のワークシートを1つのブックにコピーするコードがあります。コードが取得するブックは1つのフォルダにあります。私がExcel 2013で実行すると、コードはExcel 2010で正常に動作していますが、次の1004エラーメッセージが表示されます: "申し訳ありませんが、.... xlsxが見つかりませんでした。 "トラブルシューティングを開始する場所がわかりません。誰もこの問題に遭遇したのですか、それともExcel 2013ではなく正常に動作するのかというアイデアはありますか?ありがとうございました。VBAコードはExcel 2010で動作しますがExcel 2013では使用できません
Sub CombineSheets()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim sPath As String
Dim sFname As String
Dim wBk As Workbook
Dim wSht As Variant
Application.EnableEvents = False
Application.ScreenUpdating = False
sPath = "PathName\Inputs"
ChDir sPath
sFname = "*"
sFname = Dir(sPath & "\" & sFname & ".xlsx*", vbNormal) <Code bombs here>
wSht = ("Risks")
Do Until sFname = ""
Set wBk = Workbooks.Open(sFname)
Windows(sFname).Activate
Sheets(wSht).Copy Before:=ThisWorkbook.Sheets(1)
wBk.Close False
sFname = Dir()
Loop
ActiveWorkbook.Save
Application.EnableEvents = True
Application.ScreenUpdating = True
はそれを参照しようとしているファイルがまだ存在していることをあなたは確かに同じ場所に、いますか? –
あなたが指定した行を爆発させると、現在のディレクトリのサブディレクトリとして 'Pathname'という名前のフォルダがないか、' PathName'に 'Inputs'というサブディレクトリがないことが考えられます。 。どちらも実際に存在することを確認しましたか? 'PathName'を相対ディレクトリにしたことに注意してください(つまり、コードが実行されているのと同じフォルダに存在しなければなりません)。 –
Excel 2010で最後に実行して以来、リファレンスはまだ存在し、何も変更されていないことが確信しています。このコードは2013年に使用されるため、違いが何であるか把握しようとしています。変更が必要な設定がありますか? – AMol