Skulle du föredra att ha kontroll över användare som importerar filer, istället för att de ska använda Excel -funktionerna för att göra det? Behöver du mer kontroll över din import för validering eller ändring vid import? Det finns flera sätt att göra detta och lika många kravvarianter, men här är några av byggstenarna att utgå från.
1. Sätt följande kod i en modul och kör den sedan
'Definiera variabler 'Öppna gemensam dialogruta och hämta filnamn "Avbryt kontrollen klickades inte 'Importera fil Avsluta SubPublic Sub CustomImport ()
Dim ImportFile som sträng
Dim ImportTitle som sträng
Dim Fliknamn som sträng
Dim ControlFile som sträng
ImportFile = Application.GetOpenFilename (_
"Excel -filer, *.xls, Alla filer, *. *")
ImportTitle = _
Mid (ImportFile, InStrRev (ImportFile, "\") + 1)
If ImportFile = "False" Då
Avsluta Sub
Avsluta om
TabName = "MyCustomImport"
ControlFile = ActiveWorkbook.Name
Workbooks.Open Filename: = ImportFile
ActiveSheet.Name = Fliknamn
Ark (Fliknamn). Kopiera _
Innan: = Workbooks (ControlFile). Sheets (1)
Windows (ImportTitle) .Aktivera
ActiveWorkbook.Close SaveChanges: = False
Windows (ControlFile) .Aktivera
Sidenote: Detta fungerar bra för *.xls, *.xlsx, *.xlsm, *.csv och *.txt -filer. Du kan lägga till eller ringa upp koden före Slut Sub för att ändra den importerade data innan användaren kan röra den.