Мега-мега-мегаграмотное изложение материала и продуктивные уроки! Редкость на просторах интернета! Низкий Вам поклон за столь эффективное изложение материала по VBA! Вы педагог от Бога, продолжайте в том же духе! Низкий поклон за труды! Не поленюсь и напишу это коммент по каждым видео курса!!!
Здравствуйте, Андрей! Со своей стороны точно также не поленюсь и поблагодарю Вас за этот приятный комментарий под каждым видео точно так же :) С уважением и хорошего Вам дня, ХБ
Здравствуйте, Роман! Большое спасибо за Ваш комментарий, очень рад что Вы всегда смотрите новые видео, спасибо Вам! Хорошего Вам вечера :) С уважением, ХБ
Шикарно, большой респект:) немного переделывал и возникали некоторые трудности но все получилось ТОП. Люблю людей которым не сложно что-то показать. p.s. При копировании больших областей будет кидать в окно в стиле " В буфере находится большой объем данных" Вырубить его можно строкой Application.CutCopyMode = False Перед строкой с закрытием. Ну и если кому не надо оставаться на листе с новыми данными и так скажем вернуться на главную то дописать в конце строку Sheets(" название листа"). Activate Best Regards :)
Добрый вечер! Рад, что это видео было для Вас полезным :) Спасибо за Ваш комментарий и совет касательно CutCopyMode. Кстати, еще одним вариантом решения упомянутой Вами проблемы с выскакивающим сообщением является использование команды Application.DisplayAlerts = False. Данная команда выключает выведение всех предупреждающих сообщений в Excel. Ну и естественно, как и на примере с командой Application.ScreenUpdating, в конце выполнения процедуры важно возвращать настройку в её изначальное положение: Application.DisplayAlerts = True. Можете потом эту команду тоже как-нибудь попробовать. В будущем, постараюсь снять отдельное видео о ней:) Хорошей Вам недели! :) С уважением, Билял
Здравствуйте, Алексей! Спасибо за Ваш комментарий! Рад, что видео было для Вас полезным. Если у Вас будут какие-либо вопросы - всегда смело обращайтесь :) С уважением и хороших Вам выходных, Билял
Спасибо! Очень интересный для практической деятельности вариант. Если будет возможность расскажите про обновление таблицы с данными из другого файла. С уважением!
Здравствуйте, Дмитрий! Рад стараться! Обязательно чуть позже сниму видео, где мы более подробно рассмотрим обновление данных из другого файла (используя опять-таки GetOpenFilename и некоторые другие команды). Хороших Вам выходных, Дмитрий! С уважением ХБ
Здравствуйте, Анна! Рад помочь, и большое спасибо за Ваш комментарий! 😊 Желаю Вам в нынешней ситуации с коронавирусом оставаться здоровой, поэтому будьте осторожны и следите за собой! С уважением, Билял
Я предполагаю, что вместо "лист1" в коде можно прописать переменную, в которую ранее пользователь введёт порядковый номер нужного листа через inputbox.
Здравствуйте, Юрий! Большое спасибо за Ваш комментарий! К сожалению, отдельного видео, рассказывающего о Set еще нет. Но, так как я собирался в эту субботу выложить видео по теме VBA, то, пожалуй, именно оператору Set оно и будет посвящено. Так что stay tuned! В субботу выложу видео на эту тему :) С уважением, Билял
Здравствуйте, Вадим! Вот простейший вариант того, как проверить, не открыта ли уже выбранная книга (я дописал код из урока, поэтому можете его просто целиком скопировать и вставить): Option Explicit Sub importData() Dim fileToOpen As Variant Dim wbImportFile As Workbook
fileToOpen = Application.GetOpenFilename(Title:="Укажите файл с данными!", filefilter:="Excel Files(*.xls*),*xls*")
Application.ScreenUpdating = False
Dim wbWorkbookChecked As Workbook
If fileToOpen False Then
'Проверка, не открыт ли уже файл For Each wbWorkbookChecked In Workbooks If wbWorkbookChecked.FullName = fileToOpen Then MsgBox "Выполнение макроса прервано, т.к. выбранная рабочая книга уже открыта. Пожалуйста, закройте её и повторите процесс." Application.ScreenUpdating = True Exit Sub End If Next wbWorkbookChecked
Добрый день Билял, спасибо за урок. Подскажите, куда прописать к методу определенный путь, например (если это возможно) для дальнейшего выбора файла, в справке Microsot не нашел . Спасибо.
Благодарю, Билял! Очень полезный урок. Всё повторил, всё получилось. Единственное: у меня в окне Watches в столбце Value почему-то сообщение вместо пути к файлу. Но я проверил MsgBox путь к файлу показывает.
Здравствуйте, Александр! Спасибо за Ваш комментарий и извиняюсь за долгий ответ. Касательно Вашего вопроса - обязательно постараюсь посвятить видеоурок (а скорее всего даже несколько) на тему работы с сайтами в VBA. Правда, на ближайшее время уже запланировал снимать видеоуроки для второго плейлиста и также есть пару других тем по VBA, на которые думал снять серии. Поэтому, к сожалению, не могу сказать, когда видео на данную тему могло бы появиться на канале :( Но, в любом случае, если у Вас будут какие-либо вопросы - всегда смело пишите :) С наступающим Вас новым годом! :) С уважением, ХБ
Доброго времени суток! *Подскажите мне, пожалуйста.* Есть макрос, написанный для определенной таблицы. Нужно, чтобы макрос, написанный для этой таблицы работал и и такой же таблице в ДРУГОМ документе excel. *Вопрос* : как это сделать? При условии, что шапка таблицы всегда одна и та же, *будут различаться только данные в таблице и название файла/листа с исходными данными * Я так полагаю, нужно изменить путь к файлу в теле макроса? Или можно ли вообще убрать привязку к определенному файлу?
Спасибо, а ВБА можно работать с неекселевскими файлами? Например если надо применить какую-то логику к файлам текста или картинок список которых есть в екселе.
Добрый день! С огромным удовольствием смотрю Ваши уроки, очень доступно и понятно. Благодаря Вашим урокам заинтересовался написанием кодов. Радуюсь как ребенок, когда код работает, огромное Вам спасибо! Но есть и вопрос. Можно ли с помощью VBA осуществлять поиск произвольного файла на диске и проводить с ним какие либо действия (например: копировать, переименовывать, удалять, поиск по имени файла с разными расширениями и т.д). Например: найти нужно найти файл "123.txt" и "123.doc", скопировать в отдельную папку переименовав в" New_123.txt" и "New_123.doc").
Билял, день добрый. А у Вас не бывало, что код с GetOpenFileName выдавал ошибку? Я попробовал использовать код с этим методом, сначала всё было нормально, но потом у меня файл перестал нормально грузиться и сохраняться, а поскольку он сразу на код не ругался, я не мог поначалу догадаться, в чём дело. Только когда код с GetOpenfileName закомментировал, файл стал грузиться и сохраняться нормально.
Здравствуйте, Валерий! Извиняюсь за долгий ответ! Очень странно, у меня пока не бывало ошибок из-за GetOpenfileName. Вам удалось узнать, из-за чего именно это происходило? Возможно, была какая-то комбинация нескольких факторов? В любом случае, если у Вас получится это выяснить, буду рад если Вы поделитесь со всеми этой информацией так же в комментариях 😊 С уважением и хорошего Вам дня, Билял
при запуске кода импорта данных в в наш лист, у меня возникает такая ошибка: Run-time error '438': Object does not support this property or method в чем может быть проблема?
Если вы не заметили, то автор видео об этом упоминал, там где он переменную перетаскивал в Watch window, в общем измените тип данных из String на Variant и все будет работать.
Мега-мега-мегаграмотное изложение материала и продуктивные уроки! Редкость на просторах интернета! Низкий Вам поклон за столь эффективное изложение материала по VBA! Вы педагог от Бога, продолжайте в том же духе! Низкий поклон за труды! Не поленюсь и напишу это коммент по каждым видео курса!!!
Здравствуйте, Андрей!
Со своей стороны точно также не поленюсь и поблагодарю Вас за этот приятный комментарий под каждым видео точно так же :)
С уважением и хорошего Вам дня,
ХБ
Очень крутые уроки! У Вас талант объяснять коротко, ясно и наглядно!
Пожалуй, один из самых полезных и востребованных методов VBA)
Про ScreenUpdating не знал. Спасибо за видео!
Спасибо Автору.
Здравствуйте, Igor! Рад помочь!
Хороших Вам выходных!
С уважением,
ХБ
Очень интересно и понятно! Большое спасибо за эти видео. Ещё никогда обучение не было так захватывающие!
Класс! Жду ещё видео !
Хороший видеоурок. Вижу ведьмака в документах, какой там VBA после этого😉
Спасибо в очередной раз за информативный урок!
Здравствуйте, Роман!
Большое спасибо за Ваш комментарий, очень рад что Вы всегда смотрите новые видео, спасибо Вам!
Хорошего Вам вечера :)
С уважением,
ХБ
Отличные уроки, спасибо большое за Ваш труд.
Шикарно, большой респект:) немного переделывал и возникали некоторые трудности но все получилось ТОП. Люблю людей которым не сложно что-то показать.
p.s. При копировании больших областей будет кидать в окно в стиле " В буфере находится большой объем данных"
Вырубить его можно строкой
Application.CutCopyMode = False
Перед строкой с закрытием.
Ну и если кому не надо оставаться на листе с новыми данными и так скажем вернуться на главную то дописать в конце строку
Sheets(" название листа"). Activate
Best Regards :)
Добрый вечер!
Рад, что это видео было для Вас полезным :)
Спасибо за Ваш комментарий и совет касательно CutCopyMode. Кстати, еще одним вариантом решения упомянутой Вами проблемы с выскакивающим сообщением является использование команды Application.DisplayAlerts = False. Данная команда выключает выведение всех предупреждающих сообщений в Excel.
Ну и естественно, как и на примере с командой Application.ScreenUpdating, в конце выполнения процедуры важно возвращать настройку в её изначальное положение: Application.DisplayAlerts = True.
Можете потом эту команду тоже как-нибудь попробовать. В будущем, постараюсь снять отдельное видео о ней:)
Хорошей Вам недели! :)
С уважением,
Билял
Полезный урок. Пересмотрю несколько раз.
Здравствуйте, Алексей!
Спасибо за Ваш комментарий! Рад, что видео было для Вас полезным.
Если у Вас будут какие-либо вопросы - всегда смело обращайтесь :)
С уважением и хороших Вам выходных,
Билял
Спасибо за труд!
Очень полезное видео, особенно для новичков. Спасибо)
Отличная подача материала! Спасибо!
Большое спасибо за труд , материал очень хорошо изложен и подан.
Классные уроки! Спасибо большое!
Спасибо! Очень интересный для практической деятельности вариант.
Если будет возможность расскажите про обновление таблицы с данными из другого файла.
С уважением!
Здравствуйте, Дмитрий! Рад стараться!
Обязательно чуть позже сниму видео, где мы более подробно рассмотрим обновление данных из другого файла (используя опять-таки GetOpenFilename и некоторые другие команды).
Хороших Вам выходных, Дмитрий!
С уважением
ХБ
отличные уроки, спасибо.
Добрый день. Отличный материал. А не могли бы снять урок по обращению и открытию из Exel файла Word. Да ещё и на сервере.
Огромное спасибо!!
Здравствуйте, Анна!
Рад помочь, и большое спасибо за Ваш комментарий! 😊
Желаю Вам в нынешней ситуации с коронавирусом оставаться здоровой, поэтому будьте осторожны и следите за собой!
С уважением,
Билял
Можно вернутся к практическим задачам? И последующий разбор домашнего задания
Здравствуйте, Igor!
В следующем видеоуроке обязательно включу практическое домашнее задание в видео.
С уважением,
ХБ
@@BilyalKhassenov Здравствуйте, не могли бы вы начать курс: применение VBA в AutoCAD ?
6:39 "... Лист с данными назывался ЛИСТ1 ...
какую команду надо ввести/добавить чтобы машина спрашивала и копировала информацию с нужного мне Листа ?
Я предполагаю, что вместо "лист1" в коде можно прописать переменную, в которую ранее пользователь введёт порядковый номер нужного листа через inputbox.
Спасибо за уроки, очень хорошая подача материала. Напомните, пожалуйста, в каком уроке подробно разбирается оператор set?
Здравствуйте, Юрий!
Большое спасибо за Ваш комментарий! К сожалению, отдельного видео, рассказывающего о Set еще нет. Но, так как я собирался в эту субботу выложить видео по теме VBA, то, пожалуй, именно оператору Set оно и будет посвящено.
Так что stay tuned! В субботу выложу видео на эту тему :)
С уважением,
Билял
нет обработчика ситуации "выбранный файл уже открыт"
Здравствуйте, Вадим!
Вот простейший вариант того, как проверить, не открыта ли уже выбранная книга (я дописал код из урока, поэтому можете его просто целиком скопировать и вставить):
Option Explicit
Sub importData()
Dim fileToOpen As Variant
Dim wbImportFile As Workbook
fileToOpen = Application.GetOpenFilename(Title:="Укажите файл с данными!", filefilter:="Excel Files(*.xls*),*xls*")
Application.ScreenUpdating = False
Dim wbWorkbookChecked As Workbook
If fileToOpen False Then
'Проверка, не открыт ли уже файл
For Each wbWorkbookChecked In Workbooks
If wbWorkbookChecked.FullName = fileToOpen Then
MsgBox "Выполнение макроса прервано, т.к. выбранная рабочая книга уже открыта. Пожалуйста, закройте её и повторите процесс."
Application.ScreenUpdating = True
Exit Sub
End If
Next wbWorkbookChecked
Set wbImportFile = Workbooks.Open(fileToOpen)
'
' wbImportFile.Worksheets("Лист1").Range("A1:E20").Copy
' ThisWorkbook.Worksheets("Data").Range("B5").PasteSpecial (xlPasteAll)
'
' wbImportFile.Close (False)
MsgBox wbImportFile.Name
End If
Application.ScreenUpdating = True
End Sub
Хорошего Вам вечера :)
С уважением,
ХБ
Добрый день Билял, спасибо за урок. Подскажите, куда прописать к методу определенный путь, например (если это возможно) для дальнейшего выбора файла, в справке Microsot не нашел . Спасибо.
Благодарю, Билял! Очень полезный урок. Всё повторил, всё получилось. Единственное: у меня в окне Watches в столбце Value почему-то сообщение
вместо пути к файлу. Но я проверил MsgBox путь к файлу показывает.
Добрый день. Очень коротко, ЁМКО и понятно! Спасибо!
Вопрос: А как мне заранее в коде задать часть пути к папке с файлами?
Спасибо за уроки. Будут ли уроки по работе сайтов и VBA? Извдечение информации (парсинг) и загрузка инфы на сайт?
Здравствуйте, Александр!
Спасибо за Ваш комментарий и извиняюсь за долгий ответ. Касательно Вашего вопроса - обязательно постараюсь посвятить видеоурок (а скорее всего даже несколько) на тему работы с сайтами в VBA. Правда, на ближайшее время уже запланировал снимать видеоуроки для второго плейлиста и также есть пару других тем по VBA, на которые думал снять серии. Поэтому, к сожалению, не могу сказать, когда видео на данную тему могло бы появиться на канале :(
Но, в любом случае, если у Вас будут какие-либо вопросы - всегда смело пишите :)
С наступающим Вас новым годом! :)
С уважением,
ХБ
Доброго времени суток!
Подскажите, можно ли миновать меню выбора файла, предварительно указав путь к файлу?
Доброго времени суток! *Подскажите мне, пожалуйста.*
Есть макрос, написанный для определенной таблицы. Нужно, чтобы макрос, написанный для этой таблицы работал и и такой же таблице в ДРУГОМ документе excel. *Вопрос* : как это сделать?
При условии, что шапка таблицы всегда одна и та же, *будут различаться только данные в таблице и название файла/листа с исходными данными
*
Я так полагаю, нужно изменить путь к файлу в теле макроса? Или можно ли вообще убрать привязку к определенному файлу?
Спасибо за урок!
У меня есть вопрос: почему эта программа останавливается на
середине при запускемакроса горячими клавишами?
Спасибо, а ВБА можно работать с неекселевскими файлами? Например если надо применить какую-то логику к файлам текста или картинок список которых есть в екселе.
Доброго времени суток. А как макросом отключить запрос на обновление данных из открываемой книги?
Может ли путь быть не абсолютным а относительным? Относительно папки в которой лежит исходный файл
Добрый день! С огромным удовольствием смотрю Ваши уроки, очень доступно и понятно. Благодаря Вашим урокам заинтересовался написанием кодов. Радуюсь как ребенок, когда код работает, огромное Вам спасибо!
Но есть и вопрос. Можно ли с помощью VBA осуществлять поиск произвольного файла на диске и проводить с ним какие либо действия (например: копировать, переименовывать, удалять, поиск по имени файла с разными расширениями и т.д). Например: найти нужно найти файл "123.txt" и "123.doc", скопировать в отдельную папку переименовав в" New_123.txt" и "New_123.doc").
О, вы из Ривии)
Билял, день добрый.
А у Вас не бывало, что код с GetOpenFileName выдавал ошибку?
Я попробовал использовать код с этим методом, сначала всё было нормально, но потом у меня файл перестал нормально грузиться и сохраняться, а поскольку он сразу на код не ругался, я не мог поначалу догадаться, в чём дело. Только когда код с GetOpenfileName закомментировал, файл стал грузиться и сохраняться нормально.
Здравствуйте, Валерий!
Извиняюсь за долгий ответ!
Очень странно, у меня пока не бывало ошибок из-за GetOpenfileName. Вам удалось узнать, из-за чего именно это происходило? Возможно, была какая-то комбинация нескольких факторов? В любом случае, если у Вас получится это выяснить, буду рад если Вы поделитесь со всеми этой информацией так же в комментариях 😊
С уважением и хорошего Вам дня,
Билял
а подскажите это только работает с экселем или можно указывать к примеру сайт с которого я хочу выгрузить информацию?
при запуске кода импорта данных в в наш лист, у меня возникает такая ошибка:
Run-time error '438':
Object does not support this property or method
в чем может быть проблема?
Добрый день! Вы смогли решить проблему? Аналогичная ситуация
Ошибка runtime error 9 subscript out of range
добрый день. на условии выдает ошибку, так как False логический тип данных, пришлось делать "False", не подскажите почему у вас работает?
Если вы не заметили, то автор видео об этом упоминал, там где он переменную перетаскивал в Watch window, в общем измените тип данных из String на Variant и все будет работать.
Ты крут! Свободу Навальному!