VBA – Build a Custom Import Interface
Would you prefer to have control over users importing files, instead of having them use the Excel features to do it? Do you need more control over your imports for validation or modification on import? There are multiple ways to do this and just as many requirement variations, but here are some of the building blocks to start from.
1. Put the following code in a module then run it
Public Sub CustomImport() 'Define Variables Dim ImportFile As String Dim ImportTitle As String Dim TabName As String Dim ControlFile As String 'Open common dialog and get filename ImportFile = Application.GetOpenFilename( _ "Excel Files, *.xls, All Files, *.*") ImportTitle = _ Mid(ImportFile, InStrRev(ImportFile, "\") + 1) 'Check cancel wasn't clicked If ImportFile = "False" Then Exit Sub End If 'Import file TabName = "MyCustomImport" ControlFile = ActiveWorkbook.Name Workbooks.Open Filename:=ImportFile ActiveSheet.Name = TabName Sheets(TabName).Copy _ Before:=Workbooks (ControlFile).Sheets(1) Windows(ImportTitle).Activate ActiveWorkbook.Close SaveChanges:=False Windows(ControlFile).Activate End Sub
Sidenote: This works well for *.xls, *.xlsx, *.xlsm, *.csv, and *.txt files. You can add or call code before the End Sub to modify the imported data before the user can touch it.
VBA Coding Made EasyStop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!