Dosyaları içe aktaran kullanıcılar üzerinde, bunu yapmak için Excel özelliklerini kullanmalarını sağlamak yerine denetim sahibi olmayı mı tercih edersiniz? İçe aktarmada doğrulama veya değişiklik için içe aktarmalarınız üzerinde daha fazla kontrole mi ihtiyacınız var? Bunu yapmanın birden fazla yolu ve bir o kadar da gereksinim varyasyonu vardır, ancak işte başlamak için yapı taşlarından bazıları.
1. Aşağıdaki kodu bir modüle koyun ve çalıştırın
'Değişkenleri Tanımlayın 'Ortak iletişim kutusunu aç ve dosya adını al 'Kontrol iptali tıklanmadı 'Önemli dosya Alt BitişGenel Alt CustomImport()
Dim ImportFile As String
Dim ImportTitle As String
Dim TabName As String
Dim ControlFile As String
ImportFile = Application.GetOpenFilename( _
"Excel Dosyaları, *.xls, Tüm Dosyalar, *.*")
ImportTitle = _
Mid(ImportFile, InStrRev(ImportFile, "\") + 1)
ImportFile = "Yanlış" ise
Alt Çıkış
Bitir
TabName = "MyCustomImport"
ControlFile = ActiveWorkbook.Name
Workbooks.Open Filename:=ImportFile
ActiveSheet.Name = SekmeAdı
E-Tablolar(TabName).Kopyala _
Önce:=Çalışma Kitapları (ControlFile).Tablolar(1)
Windows(ImportTitle).Etkinleştir
ActiveWorkbook.Close SaveChanges:=False
Windows(ControlFile).Etkinleştir
Sidenote: Bu, *.xls, *.xlsx, *.xlsm, *.csv ve *.txt dosyaları için iyi çalışır. Kullanıcı dokunmadan önce içe aktarılan verileri değiştirmek için End Sub'dan önce kod ekleyebilir veya arayabilirsiniz.