Czy wolisz mieć kontrolę nad użytkownikami importującymi pliki, zamiast korzystać z funkcji programu Excel? Czy potrzebujesz większej kontroli nad importami w celu walidacji lub modyfikacji podczas importu? Istnieje wiele sposobów na zrobienie tego i tyle samo odmian wymagań, ale oto kilka elementów, od których można zacząć.
1. Umieść następujący kod w module, a następnie go uruchom
„Zdefiniuj zmienne” 'Otwórz wspólne okno dialogowe i pobierz nazwę pliku „Czek anuluj nie został kliknięty” 'Importować plik Napis końcowyPubliczny import niestandardowy()
Dim ImportFile As String
Dim ImportTitle As String
Dim Nazwa karty jako ciąg
Dim ControlFile As String
ImportFile = Application.GetOpenFilename( _
"Pliki Excela, *.xls, Wszystkie pliki, *.*")
ImportTitle = _
Mid(ImportFile, InStrRev(ImportFile, "\") + 1)
Jeśli ImportFile = "Fałsz" Wtedy
Wyjście Sub
Zakończ, jeśli
TabName = "MójNiestandardowyImport"
ControlFile = ActiveWorkbook.Name
Workbooks.Open Nazwa pliku:=Importuj plik
ActiveSheet.Name = Nazwa karty
Arkusze(NazwaKarty).Kopiuj _
Przed: = Skoroszyty (ControlFile).Arkusze(1)
Windows (ImportTitle). Aktywuj
ActiveWorkbook.Zamknij ZapiszZmiany:=Fałsz
Windows (plik kontrolny). Aktywuj
Uwaga dodatkowa: działa to dobrze w przypadku plików *.xls, *.xlsx, *.xlsm, *.csv i *.txt. Możesz dodać lub wywołać kod przed End Sub, aby zmodyfikować importowane dane, zanim użytkownik będzie mógł je dotknąć.