VBA - Bygg ett anpassat importgränssnitt

Innehållsförteckning

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

Public Sub CustomImport ()

'Definiera variabler
Dim ImportFile som sträng
Dim ImportTitle som sträng
Dim Fliknamn som sträng
Dim ControlFile som sträng

'Öppna gemensam dialogruta och hämta filnamn
ImportFile = Application.GetOpenFilename (_
"Excel -filer, *.xls, Alla filer, *. *")
ImportTitle = _
Mid (ImportFile, InStrRev (ImportFile, "\") + 1)

"Avbryt kontrollen klickades inte
If ImportFile = "False" Då
Avsluta Sub
Avsluta om

'Importera fil
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

Avsluta Sub
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.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave