Работа с Умной таблицей на VBA в Excel. Урок 1

Поділитися
Вставка
  • Опубліковано 2 січ 2017
  • ► Доступ к БЕСПЛАТНЫМ урокам - lk.1excel.ru/
    ► Продвинутый Курс по Excel - www.1excel.ru/profi
    ► Макросы и VBA в Excel -1excel.ru/magazin-vba-excel
    Урок 1. Работа с Умной таблицей на VBA
    В данном уроке рассматриваем пример, как работать с умной таблицей кодом VBA. Учимся добавлять новые строки, столбцы. Работаем с выделением таблицы, форматированием и учимся включать дополнительные функции умной таблицы.
    Easy Excel - ПОЛНОЕ и ПОДРОБНОЕ обучение программы Excel для новичков и практиков!
    Подписка на канал Easy Excel: / easyexcellesson

КОМЕНТАРІ • 57

  • @dmprog1671
    @dmprog1671 7 років тому +11

    Автору - огромное спасибо! И за "5 Интересных трюков" - в частности

  • @denissavast
    @denissavast 2 роки тому +1

    Огромное спасибо Вам за материал! Успехов

  • @edzu2601
    @edzu2601 Рік тому

    Спасибо БОЛЬШОЕ Вам за Ваш труд!!! Сто тысяч лайков!!!

  • @sergeyshvec9104
    @sergeyshvec9104 7 років тому +5

    Автору спасибо, отличный урок!

  • @TheMoliv
    @TheMoliv 7 років тому +7

    Спасибо. Отличный урок, всё предельно понятно.

  • @yurd563
    @yurd563 6 років тому +4

    Большое спасибо за видеоурок

  • @param994
    @param994 4 роки тому +2

    Спасибо большое за такое подробное объяснение, очень было полезно, объясняешь очень доступно и интересно. Прими мои благодарности, лайк и подписку)

  • @user-dk1ui6id1t
    @user-dk1ui6id1t 3 роки тому

    Хорошие информативные видео! Спасибо. Интересная тема: слияние умной таблицы с документами Word с помощью vba!

  • @photo_graf_khv
    @photo_graf_khv 2 роки тому

    Супер, годная инфа!

  • @lvrdns
    @lvrdns Рік тому

    Подробно и доступно

  • @andreyageev864
    @andreyageev864 7 років тому +5

    Всё чётко, по делу. Спасибо. Немного не понял, зачем финт с циклом, можно же так ListObj.Range.ColumnWidth = 10
    Подписка однозначно!

  • @user-vq4qr2be1b
    @user-vq4qr2be1b 2 роки тому

    Супер всё понятно.

  • @user-uq1vf1rq7m
    @user-uq1vf1rq7m 7 років тому +14

    Спасибо за урок. Очень жду продолжения.
    Замечена одна неточность: при форматировании всех колонок считаешь количество строк, а форматируешь колонки. Насколько понимаю, правильным было бы записать ListObj.ListColumns.Count

    • @easyexcellesson
      @easyexcellesson  7 років тому +1

      Да, спасибо, что указали на ошибку. Конечно надо было записать вместо ListRows - ListColumns

    • @tigor66
      @tigor66 3 роки тому +1

      Автор не заметил ошибки, ибо, по случайности, у него оказалась (почти) квадратная таблица))) А я -то думаю, почему у меня выскакивает out of range

  • @FBI0777
    @FBI0777 4 роки тому

    Если бы я мог, то насыпал бы тысячу лайков. Спасибо!

  • @user-oj4bj6ln4o
    @user-oj4bj6ln4o 4 роки тому +3

    Большое спасибо за урок! Очень ценно. А можно ли удалить сразу несколько смежных строк, указав диапазон? Или только по одной?

  • @BOOM-ql5yb
    @BOOM-ql5yb 3 роки тому

    Супер

  • @oliv17able
    @oliv17able 4 роки тому +1

    Парни, можете написать функцию для подсчёта слова "собственно" в этом ролике? )). (Собственно, Автору лайк, однозначно)

  • @user-vv5vj5wo8t
    @user-vv5vj5wo8t 7 років тому +8

    В видео допущен ошибка на 22:55 при установке ширины колонок. Количество столбцов нужно определять ListObj.ListColumns.Count, а не через свойство ListRows

    • @liamtzinch5225
      @liamtzinch5225 6 років тому

      Лол ... тоже заметил. Думал что он нарочно сделал чтобы кол колонок и строк были одинаковые

    • @dshubad
      @dshubad 5 років тому +2

      И в результате последняя колонка не меняла размер 23:55

  • @Maslennikov_Alex
    @Maslennikov_Alex 4 роки тому +7

    Зачем добавлять строку в вба когда она и так автоматом добавляется? Тоже и со столбцом

  • @ivansomatin9039
    @ivansomatin9039 5 років тому

    Спасибо за Вашу работу, очень полезно, подскажите как сделать чтобы номер столбца который нужно добавить ListObj.ListColumns.Add 7 вставлялся автоматически например у меня лист "товар", ячейка "А15" = значение "6"
    ListObj.ListColumns.Add 7 (вместо "7" стало "6"). спасибо

  • @sergeis4972
    @sergeis4972 29 днів тому

    Извините, такой вопрос. В примере, когда делали ширину колонок 20. В первой строке цикла написали For i=1 to ListObjRows.Count Вопрос: Разве строки надо тут считать? Если мы колонки переделываем, то по логике надо колонки подсчитать и потом по количеству колонок прогнать цикл. А если у вас все правильно, поясните пожалуйста этот момент. Спасибо.

  • @user-xq4cl3nf8k
    @user-xq4cl3nf8k 6 років тому

    Спасибо за информативное и понятное видео!
    Подскажите, а можно ли обратиться к столбцу не по его номеру, а по названию? Если да, то как это сделать?
    Буду Вам очень благодарна, если поможете со следующей задачей: как прописать формулу в умной таблице не по индексам ячейки (А2*В2), а по названиям столбцов?

    • @easyexcellesson
      @easyexcellesson  6 років тому

      А в чем состоит задача? При использовании формул в умной таблице Названия столбцов подставляются автоматически

    • @user-xq4cl3nf8k
      @user-xq4cl3nf8k 6 років тому +1

      Easy Excel задача в том, что если добавится до запуска макроса столбец, то расчет макроса добьется, а если привязаться к названию столбца, то ничего менять не нужно

  • @Rusia-16
    @Rusia-16 Рік тому

    Самое нужное пропустил ))) Выделить группу ячеек в столбце!

  • @sssd3175
    @sssd3175 5 років тому

    Здравствуйте я заметил что у вас цвет рамки выделяемой ячейки зелёный, как можно это сделать подскажите пожалуйста, спасибо

  • @user-re4ez1xr1t
    @user-re4ez1xr1t 6 років тому

    А как удалить дубликаты из умной таблицы средствами VBA?
    Записал макрос
    Sub Макрос6()
    '
    ' Макрос6 Макрос
    '
    Sheets("Архив").Select
    ActiveSheet.Range("Архив[#Все]").RemoveDuplicates Columns:=1, Header:=xlYes
    End Sub
    Но внутри другой, более сложной процедуры подобный код выдаёт ошибку 1004
    "Application-defined or object-defined error"

    • @user-re4ez1xr1t
      @user-re4ez1xr1t 6 років тому

      Ответ нашёлся! Правильный код
      Sheets("Архив").Select
      ActiveSheet.Range("Архив").RemoveDuplicates Columns:=1, Header:=xlYes
      Непонятно, почему Запись Макросов записывает [#Все] и что это значит?

  • @Nidvoraich
    @Nidvoraich Рік тому

    Вопрос. Раз невозможно указать в одной книге два одинаковых имени умной таблицы - зачем каждый раз обращаться к ней через лист? Нет ли способа искать таблицу по имени сразу во всей книге? То есть - вместо ActiveWorkbook.Sheets("Лист1").ListObjects("Таблиццо") писать просто ActiveWorkbook.ListObjects("Таблиццо")

  • @elnararzayeva811
    @elnararzayeva811 6 років тому

    Здравствуйте! Почему у меня не получается? Выходит маленькое окошко и там написано: run-time error '9': Subscript out of range. Что это означает не поняла ?

    • @easyexcellesson
      @easyexcellesson  6 років тому

      эта ошибка означает, что происходит попытка вызова несуществующего какого-то элемента. Точно сказать сложно, пока не увидишь ваш код. Можете выслать файл на почту, посмотрю - info@1excel.ru

    • @elnararzayeva811
      @elnararzayeva811 6 років тому

      Easy Excel хорошо вышлю скоро

    • @elnararzayeva811
      @elnararzayeva811 6 років тому

      Easy Excel я отправила на маил

  • @user-dt4yz4sf2l
    @user-dt4yz4sf2l 6 років тому

    Как задать имя умной таблицы не жестко. Дело в том, что лист будет копироваться. И умная таблица на скопированном листе будет иметь другое имя - автоматически добавляется числовой индекс в конце. Если сходная была Таблица, то на скопированном листе будет Таблица1 и т.д. Макрос должен удалять и добавлять строки как в вашем видео как на исходном листе так и на скопированных. Проблема - обращаться при добавлении к умн. таблице на активном листе.

  • @ulfatmammadov4446
    @ulfatmammadov4446 2 роки тому

    A ode moon vzyat excel material kotoroe ti rabotaesh?

  • @user-hv8rh8nk9d
    @user-hv8rh8nk9d 3 роки тому

    А зачем при цикле for в конце писать “next 1”?

    • @zhenyaelizarov6067
      @zhenyaelizarov6067 3 роки тому

      FeSto Chan next i - это добавляет единичку в переменную i для следующей итерации

  • @user-qn5by5iv7u
    @user-qn5by5iv7u 2 роки тому

    2021

  • @user-re4ez1xr1t
    @user-re4ez1xr1t 6 років тому +1

    Не понятно как переименовать умную таблицу!
    На листе Платежи создал умную таблицу. Она сразу получила имя Таблица1
    При попытке задать ей имя появился псевдоним ТабПлатежи, но Таблица1 тоже осталась.
    В диспетчере имён видно. что
    имени ТабПлатежи соответствует ДИАПАЗОН Таблица1
    Пробую код:
    Set ShPayment = ThisWorkbook.Worksheets("Платежи") - работает
    Set ListObjPay = ShPayment.ListObjects("Таблица1") - работает
    Set ListObjPay = ShPayment.ListObjects("ТабПлатежи") - НЕ РАБОТАЕТ!

    • @easyexcellesson
      @easyexcellesson  6 років тому +1

      Удалите одно имя. Диапазон таблицы должен быть задан только один раз.

    • @user-re4ez1xr1t
      @user-re4ez1xr1t 6 років тому

      Спасибо, уже сам разобрался.
      Сначала переименовал таблицу через "Диспетчер имён" на вкладке "Формулы".
      Потом еще раз всмотрелся в ролик, и понял свою ошибку.
      Я пытался переименовать умную таблицу через обычное поле для задания имён ячеек и диапазонов на вкладке "Главная". В результате получил объект типа Имя Диапазона, а не объект Имя Таблицы. У них в "Диспетчере имён" значки разные.
      А надо использовать на вкладке "Работа с таблицами/Конструктор" поле Имя таблицы.
      Таким образом имя существующей таблицы легко меняется 8-)

  • @ggfderererewd6377
    @ggfderererewd6377 5 років тому +1

    хватет уже слюной играться

  • @keblysarvidas4235
    @keblysarvidas4235 2 роки тому

    Мумбур люмбур И для чего всё это.

  • @lesya5658
    @lesya5658 2 роки тому

    Vba это что?

    • @Nidvoraich
      @Nidvoraich Рік тому

      Вижуал Бэйсик. Встроенный в офисные приложения язык программирования

  • @user-xy4jr2wu9b
    @user-xy4jr2wu9b 6 років тому

    а не проще удалить вручную все и ничего не писать. До сих пор не могу понять зачем ВБА. Что в нем такого суперового? По мне так сложно все, писать на английском кучу строк что бы удалить строку. Обьясните мне тупому, зачем ВБА. Сколько не искал ответа нету(

    • @user-ml1dc8nq9q
      @user-ml1dc8nq9q 6 років тому

      ua-cam.com/video/3EXMQykVEA4/v-deo.html

    • @tigor66
      @tigor66 3 роки тому

      я каждый день привожу в нормальный вид одни и те же таблицы на протяжении 6 лет. Если б руками - давно с ума сошел бы)))

    • @Nidvoraich
      @Nidvoraich Рік тому

      пока таблиц мало - можно и ручками. Но если надо ежедневно как-то с ними работать (составлять единый отчёт по нескольким таблицам, например) то сильно проще один раз написать алгоритм, отладить его и дальше не париться.

  • @olgaikonnikova1196
    @olgaikonnikova1196 4 роки тому +1

    Простите. Я никак не пойму, зачем вообще она нужна эта умная таблица?. Вручную все как-то быстрее и проще делать..

    • @Nidvoraich
      @Nidvoraich Рік тому

      для экселя поле клеток, которое Вы видите - это просто поле клеток. Он не понимает, где началась таблица, где закончилась. Даже если Вы отформатировали всё границами и прочим. А умная таблица - это уже отдельный кусок на клеточном поле, про который Эксель точно в курсе, что это что-то единое. К умной таблице можно удобнее обращаться в формулах, например. В формуле будут уже не просто адреса ячеек, а название таблицы и столбца. Визуально это сильно упрощает чтение формул. Также Эксель понимает, что если в таблице добавилась строка - то нужно применить все формулы и форматирования как у верхней строки.
      Скорее всего - Вы мало работаете в Экселе, поэтому разница для Вас не так очевидна. С опытом поймёте