Chelovek Пользователь Сообщений: 25 |
Здравствуйте, уважаемые форумчане. Исходные данные (прикрепляю): В процессе своей работы макрос должен: Спасибо всем, кто откликнется! |
Msi2102 Пользователь Сообщений: 3137 |
С таким ТЗ Вам скорее всего в платный раздел |
New Пользователь Сообщений: 4581 |
Chelovek, потестируйте файл |
Chelovek Пользователь Сообщений: 25 |
New, |
Евгений Смирнов Пользователь Сообщений: 539 |
#5 31.01.2022 18:20:56
Самый самый небольшой макросик, который смог за сегодня найти на бескрайних просторах интернета.(Весь день искал даже на обед не пошел)
Функция открытия диалогового окна есть в файле NEW |
||||
Chelovek Пользователь Сообщений: 25 |
Евгений Смирнов
Ваш код работает. Впечатляет Ваш профессионализм. Большое спасибо за помощь! Если что — буду обращаться к Вам. |
New Пользователь Сообщений: 4581 |
#7 01.02.2022 00:00:16 Евгений Смирнов, Евгений, т.к. массив после Split создаётся с нулевым индексом, то у вас не выгружается на лист последняя строка (Ярославль_609_610_100,16%). Надо добавлять +1 при выгрузке на лист
P.S. Так же, я надеюсь, вы знаете ограничения связанные с Transpose? На примере от ТС это не критично, но кто знает, какие реальные файлы у ТС в работе Изменено: New — 01.02.2022 00:02:35 |
||
Chelovek: Спасибо за оценку моего скромного труда, но до профи мне далеко, как до Китая пешком. (Просто в некоторых вопросах, которые меня интересуют, стараюсь до конца разобраться) New: Здравствуйте. В вашей функции CountLinesInTextFileFast надо добавлять +1 т.к. она считает количество строк в файле. В моем не надо. И вообще зачем вы 2 раза читаете текстовый файл. Первый раз чтобы посчитать кол-во строк, а второй, чтобы заполнить массив. Это все можно сделать за одно считывание (В данном случае). Про ограничение Transpose знаю, уже натыкался. Это легко обойти добавить цикл.(Сделать свою Transpose) |
|
МатросНаЗебре Пользователь Сообщений: 5516 |
#9 01.02.2022 09:45:40
Жители Благовещенска никак не могут понять, является ли Евгений профи или нет ) UPD Этот край упомянул из-за близости к Китаю. Я сам не из этих мест. Изменено: МатросНаЗебре — 01.02.2022 12:14:00 |
||
МатросНаЗебре Привет жителям Благовещенска, почти земляк. Но мне подальше до Китая, чем вам. А к профи не отношусь. Если узнаете о моей профессиональной деятельности будете сильно удивлены. (Никогда не занимался программированием профессионально это честно без шуток) МатросНаЗебре А я подумал сибиряк значит земляк. Обманули меня. Изменено: Евгений Смирнов — 01.02.2022 14:16:08 |
|
New Пользователь Сообщений: 4581 |
#11 01.02.2022 11:20:33
Евгений, терять часть данных (последнюю строку) при импорте данных — не очень хорошая вещь. |
||
New Павел как ни странно у меня все нормально отрабатывает. вроде я текстовый файл из темы не правил. сейчас еще попробую скачать заново PS New Вы правы надо добавить +1. С файлом который в теме все нормально, но там последняя строка пустая. Если ее удалить, то последняя не выводится. Изменено: Евгений Смирнов — 01.02.2022 11:39:23 |
|
юнат Пользователь Сообщений: 22 |
Здравствуйте. |
Можно отслеживать дату сохранения текстового файла. |
|
Ігор Гончаренко Пользователь Сообщений: 13746 |
#15 18.10.2022 13:56:52
Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
юнат Пользователь Сообщений: 22 |
Ігор Гончаренко, спасибо! |
Ігор Гончаренко Пользователь Сообщений: 13746 |
#17 18.10.2022 14:22:52 код нужно скопировать в стандартный модуль
Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
юнат Пользователь Сообщений: 22 |
Код работает, только когда вручную запускаешь макрос. И данные не записываются в ячейку. В Текст.txt у меня приходят данные со считывателя рфид карт автоматически, с помощью дополнительной Изменено: юнат — 19.10.2022 09:36:28 |
пока условия вашей задачи известны только вам одному — вам самому ее и решать Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
юнат Пользователь Сообщений: 22 |
Ігор Гончаренко, благодарю за помощь! |
что сложно? Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
юнат Пользователь Сообщений: 22 |
Ігор Гончаренко, для меня всё непонятное — сложно. |
юнат Пользователь Сообщений: 22 |
У меня задача читать рфид карты и преобразовывать их длинный номер в десятичную цифру (например 01004C11BBE7 = 57). |
а для меня сложно угадывать что думает другой человек, особенно если он об этом только думает, но ничего не говорит (не пишет) Изменено: Ігор Гончаренко — 20.10.2022 09:47:50 Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
Jack Famous Пользователь Сообщений: 10848 OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome |
#25 20.10.2022 09:45:00
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄ |
|
юнат Пользователь Сообщений: 22 |
Ігор Гончаренко, я только добавляю исходные данные, а вы уже ругаетесь что это мусор, в то же время пишите что я ничего не говорю. |
читайте название темы, подумайте о чем это Изменено: Ігор Гончаренко — 20.10.2022 12:30:27 Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
юнат Пользователь Сообщений: 22 |
Ігор Гончаренко, большое спасибо за помощь, почти все свои задачи решил, осталась только до ком порта достучатся. |
юнат Пользователь Сообщений: 22 |
#29 20.12.2022 18:32:14 Хелп ми! Поломалось! Не работает!
Если курсор в текстовом файле спрыгивает на следующую пустую строчку, то этот вакуум копируется в ячейку ексель. |
||
New Пользователь Сообщений: 4581 |
#30 20.12.2022 19:51:31 попробуйте так
Изменено: New — 20.12.2022 20:11:14 |
||
Нет, ну ты видел?! 8 / 8 / 0 Регистрация: 21.05.2020 Сообщений: 146 |
|
1 |
|
31.08.2020, 08:17. Показов 10678. Ответов 74
Здравствуйте, 15rt63 174asd94 39047 494 39a049 0304 1a57863 1asd394 390ds47 494 390a49 0304 157863 17asd394 39047 494 39049 0304 Нужен макрос, который бы скопировал всё и вставил также по столбикам с первой ячейки первой строчки в определенный лист excel файла Листая интернет, я нашел много ссылок на такие макросы, но почему то они у меня не работают. Я их слабо понимаю, и видимо одной замены расположения txt файла недостаточно, помогите :/
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
31.08.2020, 08:17 |
Ответы с готовыми решениями: Импорт txt в excel Импорт txt в excel Импорт txt в Excel Импорт из Excel или Txt в БД Лотус 74 |
Часто онлайн 792 / 530 / 238 Регистрация: 09.01.2017 Сообщений: 1,820 |
|
31.08.2020, 09:51 |
2 |
blackfisk, Какой разделитель между блоками?
0 |
Narimanych 2630 / 1636 / 744 Регистрация: 23.03.2015 Сообщений: 5,142 |
||||
31.08.2020, 09:52 |
3 |
|||
blackfisk,
0 |
blackfisk Нет, ну ты видел?! 8 / 8 / 0 Регистрация: 21.05.2020 Сообщений: 146 |
||||||||
31.08.2020, 10:05 [ТС] |
4 |
|||||||
blackfisk,
Спасибо Возможно я неправильно объяснил, между числами может быть больше одного пробела Что то слепилось у меня, но он также не распределяет нормально числа по ячейкам
Миниатюры
0 |
2630 / 1636 / 744 Регистрация: 23.03.2015 Сообщений: 5,142 |
|
31.08.2020, 10:15 |
5 |
blackfisk,
Наверное лучше прикрепить текстовый файл….
0 |
Нет, ну ты видел?! 8 / 8 / 0 Регистрация: 21.05.2020 Сообщений: 146 |
|
31.08.2020, 10:44 [ТС] |
6 |
Извините, вот txt
0 |
КостяФедореев Часто онлайн 792 / 530 / 238 Регистрация: 09.01.2017 Сообщений: 1,820 |
||||||||
31.08.2020, 11:01 |
7 |
|||||||
blackfisk,
Так? Добавлено через 1 минуту
0 |
Нет, ну ты видел?! 8 / 8 / 0 Регистрация: 21.05.2020 Сообщений: 146 |
|
31.08.2020, 11:08 [ТС] |
8 |
Да, спасибо, но о5 же, макрос создает отдельный excel файл, но необходимо открыть внутри уже имеющегося файла на новом листе, или определенном листе, главное, что в самом файле, из которого запущен макрос Макрос запускается по нажатию кнопки в excel файле
0 |
Catstail Модератор 34707 / 19228 / 4039 Регистрация: 12.02.2012 Сообщений: 32,190 Записей в блоге: 13 |
||||||
31.08.2020, 11:14 |
9 |
|||||
blackfisk, у тебя данные «грязные», разделитель — то пробел, то табуляция…
Вложения
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
31.08.2020, 11:14 |
10 |
Я думаю второй макрос из №4 пойдёт, только там где vbtab нужно прописать тот разделитель, что есть в файле.
0 |
Нет, ну ты видел?! 8 / 8 / 0 Регистрация: 21.05.2020 Сообщений: 146 |
|
31.08.2020, 11:32 [ТС] |
11 |
Не могу повлиять на это, к сожалению Получается ошибка :/ Миниатюры
0 |
КостяФедореев Часто онлайн 792 / 530 / 238 Регистрация: 09.01.2017 Сообщений: 1,820 |
||||
31.08.2020, 11:43 |
12 |
|||
blackfisk,
С возможностью выбора файла
0 |
Narimanych 2630 / 1636 / 744 Регистрация: 23.03.2015 Сообщений: 5,142 |
||||
31.08.2020, 11:43 |
13 |
|||
blackfisk,
0 |
blackfisk Нет, ну ты видел?! 8 / 8 / 0 Регистрация: 21.05.2020 Сообщений: 146 |
||||||||
31.08.2020, 11:51 [ТС] |
14 |
|||||||
blackfisk,
С возможностью выбора файла Копирует какие то символы, и даже не всю таблицу Добавлено через 22 секунды
blackfisk,
Пишет ошибка 400 ;/
0 |
2630 / 1636 / 744 Регистрация: 23.03.2015 Сообщений: 5,142 |
|
31.08.2020, 11:54 |
15 |
blackfisk,
0 |
blackfisk Нет, ну ты видел?! 8 / 8 / 0 Регистрация: 21.05.2020 Сообщений: 146 |
||||||||
31.08.2020, 11:55 [ТС] |
16 |
|||||||
blackfisk,
С возможностью выбора файла
Этот макрос работает, как добавить в него, чтобы он работал дальше с открывшемся окном: т.к. я слабо разбираюсь в Ваших макросах, хотя б так пусть что б работало.
0 |
Нет, ну ты видел?! 8 / 8 / 0 Регистрация: 21.05.2020 Сообщений: 146 |
|
31.08.2020, 11:56 [ТС] |
17 |
blackfisk, Указывает на строку Миниатюры
0 |
Часто онлайн 792 / 530 / 238 Регистрация: 09.01.2017 Сообщений: 1,820 |
|
31.08.2020, 12:01 |
18 |
У меня код Narimanych, работает идеально.
0 |
Narimanych 2630 / 1636 / 744 Регистрация: 23.03.2015 Сообщений: 5,142 |
||||
31.08.2020, 12:04 |
19 |
|||
blackfisk,
Добавлено через 1 минуту
0 |
blackfisk Нет, ну ты видел?! 8 / 8 / 0 Регистрация: 21.05.2020 Сообщений: 146 |
||||
31.08.2020, 12:09 [ТС] |
20 |
|||
я на чистом файле проверяю макросы, Добавлено через 3 минуты
blackfisk,
Добавлено через 1 минуту upd Скопировал, хоть и не быстро, но скопировал,
0 |
Мне действительно нравится Excel и, при каждом удобном случае, я стараюсь найти ему нестандартное применение. И в этот раз я задумал импортировать плей-листы радиостанций.
Вы обращали внимание, что когда вы ищете какие-то товары в интернет-магазине или когда смотрите расписание какого-либо маршрута на сайте вроде tutu.ru, в адресной строке браузера формируется url по вполне логичным правилам?
Пример
http://www.tutu.ru/rasp.php?st1=201&st2=1501&date=07.10.2015
Разбор ссылки по частям
http://www.tutu.ru/rasp.php — начальная страница сайта
Часть строки после знака вопроса — параметры, передаваемые на сервер
st1=201 — станция отправления (Беговая)
st2=1501 — станция прибытия (Трехгорка)
date=07.10.2015 — дата, за которую необходимо выгрузить расписание
Вполне понятная логика, которую также можно было бы указать и через макрос VBA. Но вернемся к плейлистам. Поисковая выдача google выдала сразу ряд сайтов, которые выгружают плейлисты. Возьмем, для примера, самую верхнюю строчку
Если в левой части сайта можно нажать на «Плейлисты радиостанций», затем выбрать интересующую нас радиостанцию и нажать в верхней части на кнопку «Плейлист радиостанции за вчера». Почему за вчера? Потому что если импортировать песни за текущий день мы получаем только часть дневного эфира и сравнение получится некорректным
Получаем ссылку вида
https://7bx.ru/radio_track/avtoradio/20151003
Здесь все просто и логично, никаких параметров
avtoradio — название радиостанции
20151003 — дата плейлиста в формате YYYYMMDD
Далее нам необходимо импортировать содержимое страницы в Excel. На помощь нам приходит макрорекордер и импорт данных. На вкладке Разработчик включаем запись макроса (или в строке состояния нажав на кружок), затем идем на вкладку «Данные» и запускаем импорт внешних данных «Из интернета»
К сожалению, как и большинство сайтов интернета, этот также не очень удобно импортировать — вместо аккуратной таблички со списком песен придется импортировать все содержимое страницы (желтая стрелочка в левом верхнем углу страницы)
Макрорекордер записал следующий код
Sub Макрос1() With ActiveSheet.QueryTables.Add(Connection:= _ "URL;https://7bx.ru/radio_track/avtoradio/20151005", Destination:=Range( _ "$A$1")) .CommandType = 0 .Name = "20151005" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With End Sub
Не все бактерии одинаково полезны, а макрорекордер, как всегда, записал все параметры, даже те, которые нам не нужны. Если код подсократить и объявить переменные, можно получить
Sub Macro2() Dim station As String Dim nDate As String Dim url As String: url = "https://7bx.ru/radio_track/" station = "avtoradio" nDate = Format(Date - 1, "YYYYMMDD") ' Смотрим плейлист за вчерашний день With ActiveSheet.QueryTables.Add(Connection:= _ "URL;" & url & station & "/" & nDate, Destination:=[A1]) .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .Refresh BackgroundQuery:=False End With End Sub
Остальное — дело техники, подчистить результат, задать массив с названиями радиостанциями и использовать цикл для загрузки плейлистов всех доступных радиостанций 🙂
- Надстройки Excel
- Текстовые файлы
- файлы CSV
- Листы Excel
- Объединение файлов
- Книги Excel
- Массивы
- Работа с файлами
Надстройка предназначена для облегчения импорта данных в Excel из текстовых файлов с разделителями (например, из CSV)
Пока во вложении — обычный файл Excel с нужными макросами, надстройку выложу позже
Использовать функции файла (надстройки) совсем не сложно.
Вот несколько примеров:
Sub ЗагрузитьТекстовыйФайлВАктивнуюЯчейку() CSV2Excel End Sub Sub ЗагрузитьCSVФайлВСледующуюПустуюЯчейкуПервогоСтолбца() CSV2Excel "a", , , , "*.csv" End Sub Sub ЗагрузитьТекстовыйФайлВНовуюКнигу() ' текстовый файл с разделителем "пробел" CSV2Excel "NewWorkbook", "Импорт данных в новую книгу", , , , " " End Sub
- 60524 просмотра
Не получается применить макрос? Не удаётся изменить код под свои нужды?
Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.
This is more simple than you may think, because you can invoke the Text Import Wizard (or rather, you can use its functionality) from within a macro, there’s no need to write a CSV parser or anything fancy like that.
In fact, all I’ve done with the macro below is to use the built-in record function, and then tweak it a little bit to meet you needs.
Using the Macro:
-
Backup your current Excel file, in case something goes wrong.
-
Change the definition of
folder
in the macro to be the path containing all of your data files — make sure you include a trailing slash. -
Select the header cell of the columns, which must contain the name of a one of your files — including the file extension. You can edit this field after the data is loaded if you wish to remove the extension.
-
Run the macro.
Actions
It will take the file name from the current cell, look in the specified folder
and open that file specified in the cell. Then it will import it as CSV, exactly one cell below the selected cell (when starting the macro).
As such, it will probably overwrite the cells below the selected cell when running the macro — caution is advised.
If the file isn’t found, or some other error occurs, this will fail with a normal VBA error box, no friendly error messages.
Macro Code
Some of this can probably be trimmed — as said I get it from a recording rather than learning how to user QueryTables
myself — but it won’t hurt as it is, and seems to work reliably.
Sub LoadFromFile()
Dim fileName As String, folder As String
folder = "C:PathToYourFiles"
fileName = ActiveCell.Value
ActiveCell.Offset(1, 0).Range("A1").Select
With ActiveSheet.QueryTables _
.Add(Connection:="TEXT;" & folder & fileName, Destination:=ActiveCell)
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
pas240886, все 3 кнопки на Ваш макрос AttachFile_test повесила. Для удобства, кнопки переименовала в имена листов. Т.е., кнопка с именем «Инвойс» копирует на лист Инвойс.
[vba]
Код
Sub AttachFile_test() ‘ пример использования
Application.ScreenUpdating = False
Filename$ = GetFilePath()
If Filename$ = «» Then Exit Sub
‘ MsgBox «Выбран файл: » & Filename$
On Error Resume Next
Set sh = ThisWorkbook.Sheets(Application.Caller)
If Err <> 0 Then MsgBox «Нет такого листа»: Exit Sub
On Error GoTo 0
Set openWb = Workbooks.Open(Filename$)
sh.UsedRange.Clear
openWb.ActiveSheet.UsedRange.Copy sh.[a1]
openWb.Close False
Application.ScreenUpdating = True
End Sub
[/vba]
Пример импорта текстового файла при помощи макросов
Подготовим текстовый файл, который мы
будем импортировать в Excel,
например, сгенерированную некоторой
программой таблицу в текстовом виде
(рис.6):
Рисунок 6. Импортируемый текстовый файл
“result.txt”
Далее произведем импорт текстового
файла в рабочую книгу, записав при этом
процесс импорта в виде макроса, т.е.
включаем запись макроса и импортируем
файл. Для импорта файла можно либо просто
открыть файл
,
либо выбрать пункт меню “Данные Внешние
данные Импорт текстового файла …” и
далее задать нужный файл.
Выбираем параметры импорта текстового
файла (рис.7) – формат данных (с разделителями
– когда данные разделены каким-то
символом-разделителем, например
вертикальной чертой |, или фиксированной
ширины – когда данные имеют строго
определенную ширину, например, данные
из первого столбца должны занимать
строго 6 символов), начальную строку
импорта, кодировку тестового файла.
Нажимаем кнопку “Далее” для перехода
к следующему шагу импорта файла.
На втором шаге следует выбрать
символ-разделитель данных (рис.8), в
приведенном примере – это символ
вертикальной черты |. И переходим к
третьему шагу.
На третьем шаге (рис.9) выбираем для наших
столбцов формат данных (тип данных).
Данный пункт можно пропустить, а формат
данных указать уже после в самой книге.
Нажимаем кнопку “Готово” – для
завершения импорта и перехода к рабочей
книге. При этом появляется запрос на
выбор места размещения импортируемых
данных (рис.10).
Останавливаем процесс записи макроса.
Результат импорта представлен на рисунке
11.
Рисунок 7. Выбор формата данных
Рисунок 8. Выбор символа-разделителя
Рисунок 9. Выбор типа столбцов
Рисунок 10. Выбор место размещения
Рисунок 11. Результат импорта файла
Перейдем в редактор VisualBasicдля работы с кодом макроса. Код записанного
макроса представлен ниже:
Sub
Макрос2()
‘
‘
Макрос2 Макрос
‘
Макрос записан 13.10.2004 (nkonchits)
‘
ActiveWorkbook.Worksheets.Add
With
ActiveSheet.QueryTables.Add(Connection:= _
«TEXT;C:Documents
and SettingsnkonchitsМои
документыresult.txt»,
_
Destination:=Range(«A1»))
.Name
= «result»
.FieldNames
= True
.RowNumbers
= False
.FillAdjacentFormulas
= False
.PreserveFormatting
= True
.RefreshOnFileOpen
= False
.RefreshStyle
= xlInsertDeleteCells
.SavePassword
= False
.SaveData
= True
.AdjustColumnWidth
= True
.RefreshPeriod
= 0
.TextFilePromptOnRefresh
= False
.TextFilePlatform
= xlWindows
.TextFileStartRow
= 1
.TextFileParseType
= xlDelimited
.TextFileTextQualifier
= xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter
= False
.TextFileTabDelimiter
= False
.TextFileSemicolonDelimiter
= False
.TextFileCommaDelimiter
= False
.TextFileSpaceDelimiter
= False
.TextFileOtherDelimiter
= «|»
.TextFileColumnDataTypes
= Array(1, 2, 1, 1, 1, 1)
.Refresh
BackgroundQuery:=False
End
With
End
Sub
Однако данный макрос обладает недостатком,
т.к. он не является универсальным для
импорта большого количества однотипных
файлов с разными именами. Для этого
следует внести некоторые изменения в
макрос: добавить выбор (задание) имени
файла. За выбор имени файла в макросе
отвечает фрагмент кода:
With
ActiveSheet.QueryTables.Add(Connection:= _
«TEXT;C:Documents
and SettingsnkonchitsМои документыresult.txt», _
а для
задания ввода имени файла можно
воспользоваться методом
InputBox(prompt[,
title] [, default] [, xpos] [, ypos] [, helpfile, context])
и
заменить прописанное имя файла
“C:DocumentsandSettingsnkonchitsМои
документыresult.txt”
на данный метод. В итоге получиться
следующий фрагмент кода:
With
ActiveSheet.QueryTables.Add(Connection:= _
«TEXT;»
+ InputBox(«Введите имя файла для импорта
в Excel: «), _
Далее в момент запуска макроса происходит
запрос имени файла (рис.12).
Рисунок 12. Запрос ввода имени файла для
импорта
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
It’s time to learn how to use VBA and Macros to import data from a web page into Excel!
This is the advanced way to get almost any piece of data from a web page and to bring it into Excel and I take the tutorial step-by-step to explain everything that you need to do.
As well, the macro that we use is a very simple yet powerful and robust piece of code that will work in a wide variety of situations and that does not require the browser to open or be used at all.
This tutorial walks you through each line of the macro required to perform the import so that you will understand it and be able to change it for your specific purposes. As well, this covers different elements of a web page that you need to understand in order to make better web imports of data using VBA.
I hope you enjoy the tutorial!
Excel VBA Course — From Beginner to Expert
200+ Video Lessons
50+ Hours of Instruction
200+ Excel Guides
Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)
View Course
Similar Content on TeachExcel
Excel Import Web Data Copy/Paste + Easy Analysis
Tutorial:
How to easily bring data into Excel from the web using copy/paste and then quickly transf…
How to Import Word Lists into Excel
Tutorial:
4 easy steps to take a list from MS Word and transfer it into Excel so you can work with …
How to Enter Data into Excel
Tutorial: Entering data into Excel is exactly the same across all Excel versions and can be done in …
Loop through a Range of Cells in Excel VBA/Macros
Tutorial: How to use VBA/Macros to iterate through each cell in a range, either a row, a column, or …
Put Data into a Worksheet using a Macro in Excel
Tutorial: How to input data into cells in a worksheet from a macro.
Once you have data in your macro…
Macro to Open a Website from Excel
Tutorial: How to open a website in the browser from Excel using a Macro and VBA.
This is the same as…
Subscribe for Weekly Tutorials
BONUS: subscribe now to download our Top Tutorials Ebook!
Excel VBA Course — From Beginner to Expert
200+ Video Lessons
50+ Hours of Video
200+ Excel Guides
Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)
View Course