VBA'da, çalışma sayfalarını farklı çalışma kitaplarındaki aynı sekme adıyla bir çalışma kitabına kopyalar. Kodun çektiği çalışma kitapları bir klasörde. Kod, Excel 2010'da düzgün çalışıyor ancak Excel 2013'te çalıştırdığımda, şu 1004 hata iletisini alıyorum: "Üzgünüz, bulamadık .... xlsx. Taşındı, yeniden adlandırıldı veya silindi. " Sorun gidermeye nereden başlayacağımı bilmiyorum. Bu problemle karşılaşan biri var mı, yoksa Excel 2010'da Excel 2010'da neden iyi çalıştığı konusunda herhangi bir fikriniz var mı? Teşekkür ederim.Excel 2010'da VBA Kodu Çalışıyor Ama Excel 2013'te Çalışmıyor
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
emin aynı yerde, hala var kullanmaya çalışıyor dosya olduğu misiniz? –
Belirttiğiniz satırda bombalar varsa, ya geçerli dizinin alt dizini olarak 'Pathname' adında bir klasörünüz yoksa ya da 'PathName' 'Inputs 'adında bir alt dizinin bulunmadığı olasıdır. . Her ikisinin de gerçekte var olduğunu doğruladınız mı? 'PathName' dizininin göreli bir dizin oluşturduğunu unutmayın (kodunuzun aynı klasörde bulunması gerekir). –
Referansın hala mevcut olduğundan ve en son Excel 2010'da çalıştırdığımdan beri hiçbir şeyin değişmediğinden emin olabilirsiniz. Kod 2013'te kullanılacaktır, bu yüzden farkın ne olabileceğini anlamaya çalışıyorum. Değiştirmem gereken farklı bir ortam var mı? – AMol