Сначала используйте MS Access, фактическую базу данных, чтобы хранить весь ваш контент, а не в Excel.Следовательно, импортируйте все 171 лист книги в таблицу MS Access.Затем вы можете легко запросить таблицу с параметрами формы.
Также используйте тот факт, что вы можете напрямую запрашивать книги Excel из Access SQL, не открывая их, предполагая, что лист поддерживает именованные столбцы и структуру таблицы (смежные строки / столбцы) данных.При необходимости измените имя листа в запросе.
SQL (создать в коде или в графическом интерфейсе Access)
CREATE TABLE IFSC (
ID AUTOINCREMENT PRIMARY KEY,
IFSC_Code TEXT(50),
BankName TEXT(255)
)
VBA (цикл по всем рабочим книгам и импорт данных)
Sub ImportExcelData
Dim myPath As String, myFile As String
Dim sql As String
myPath = "C:\IFSC\"
myFile = Dir(myPath & "*xlsx")
' LOOP THROUGH FOLDER
Do While Len(myFile) > 0
sql = "INSERT INTO IFSC (IFSC_Code, BankName) " & _
"SELECT [IFSC_Code], [BankName] " & _
" FROM [Excel 12.0 Xml;HDR=Yes;Database=" & myPath & myFile & "].[Sheet1$]"
CurrentDb.Execute sql ' RUN APPEND ACTION
myFile = Dir
Loop
End Sub
SQL (запрос SELECT)
SELECT BankName FROM IFSC WHERE [IFSC_Code] = Forms!myFormName!txtIFSC
DLookup (назначить несвязанному элементу управления или переменной VBA)
= DLookup("BankName", "IFSC", "[IFSC_Code] ='" & Forms!myFormName!txtIFSC & "'"