SQL расшифровывается как Язык структурированных запросов и используется для работы практически во всех базах данных. Из Excel с SQL вы можете извлекать данные из любой базы данных, текстового файла и других сред.
В приведенном ниже примере мне нужно было разработать запрос для извлечения данных из CSV-файла с 200 000 строками. Я не могу получить все 200 000 строк в Excel, но с помощью следующего кода я извлекаю уникальные значения (без двойного) из файла.
Для запроса данных вам, по сути, нужны 2 вещи: соединение (varConn) и предложение SQL (varSql).
Чтобы получить соединение, используйте запись макросов, перейдя в раздел «Данные/Импорт внешних данных/Новый запрос к базе данных».
Для предложения SQL вы можете использовать тот же подход (запись макросов) или использовать Access. Создайте запрос в Access, скопируйте предложение SQL, созданное Access, и вставьте его в свой код VBA для Excel.
В следующем коде файл, из которого извлекаются данные, называется «Общий подробный отчет о вызове Rev. csv«, лист, на котором хранятся данные, называется «Общий подробный отчет о вызове Rev«, а поле, из которого я извлекаю данные, — «Субсчет #:«
Подзапрос()
Dim varConn Как Строка
Dim varSql Как Строка
Dim varQuery Как Таблица запросов
varConn = «ODBC для;DefaultDir=е:\Гарсон;драйвер={Microsoft текста-Трайбер (*.в формате txt; *.формат CSV)};DriverId=27;Фил=текст для maxbuffersize=2048;MaxScanRows=8;PageTimeout=5;
SafeTransactions=0;нитки=3;uid=администратора;UserCommitSync=да;»
varSql = «ВЫБЕРИТЕ ОТДЕЛЬНЫЙ `Общий отчет о подробных вызовах».`Субсчет #:`
ИЗ `Общий отчет о деталях вызовов Rev. csv` `Общий отчет о деталях вызовов Rev»»
Установите параметр varQuery = Таблица активов.Таблицы запросов.Добавить( Соединение:=varConn,
Пункт назначения:=Диапазон(«a1»), Sql:=varSql)
Варкери.Освежить
Конец Sub
Как только запрос будет создан…