Ячейки в VBA: Как использовать Cells в VBA (Серия VBA 6)

Поділитися
Вставка
  • Опубліковано 25 вер 2018
  • Всем привет! Настало время познакомиться с таким объектом в VBA как Cells.
    В этом видео мы с Вами поговорим о том, как же использовать данный объект для указания нужной ячейки или же целой области (в случае указания области, состоящей из более чем одной ячейки, мы будем с Вами использовать смешанный метод Range и Cells).
    Всем приятного просмотра и полезных знаний! Если этот видеоурок был для Вас полезным, ставьте лайк и подписывайтесь на канал, ведь вместе мы с Вами быстро, очень качественно и интересно выучим VBA! :)

КОМЕНТАРІ • 83

  • @tatianarodionova9472
    @tatianarodionova9472 3 роки тому +15

    Смотрю 6 видео из подборки экспресс курс. Взахлеб смотрю и не могу оторваться! Очень интересно, удобно, познавательно! Спасибо вообще за то, что придумали такую возможность учиться макросам.

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

      Tatiana, и как у уебя с этим на данный момент?)

  • @user-uj4zl3wv3s
    @user-uj4zl3wv3s 4 роки тому +11

    Мега-мега-мегаграмотное изложение материала и продуктивные уроки! Редкость на просторах интернета! Низкий Вам поклон за столь эффективное изложение материала по VBA! Вы педагог от Бога, продолжайте в том же духе! Низкий поклон за труды! Не поленюсь и напишу это коммент по каждым видео курса!!!

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

      Здравствуйте, Андрей!
      Со своей стороны точно также не поленюсь и поблагодарю Вас за этот приятный комментарий под каждым видео точно так же :)
      С уважением и хорошего Вам дня,
      ХБ

  • @nMUSHKETER
    @nMUSHKETER 4 роки тому +4

    Отличный видеокурс. Информация дается коротко, полно, без "мычания". Чувствуется рука мастера. Спасибо.

  • @garikfill1488
    @garikfill1488 5 років тому +22

    Очень познавательно и грамотно. Смотрю, тут же пробую. И чем больше получается, тем большее желание изучать VBA. Спасибо огромное за Ваше старание и уроки!

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

      Уважаемый Гарик, здравствуйте! Большое спасибо за Ваш комментарий. Подобные комментарии всегда являются для меня знаком, что выкладываемые видеоуроки полезны зрителям канала. И это очень радует!
      P.S. Буквально через полчаса на канале, после такого большого перерыва, появится новое видео ;)

  • @temniknn1377
    @temniknn1377 3 роки тому +7

    Все здорово. И монтаж, и звук. И содержание.

  • @user-ix2so6pg7r
    @user-ix2so6pg7r 4 роки тому +7

    Спасибо вам большое! Лучше уроков на ютубе не найти !

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

      Здравствуйте, Александр! Большое спасибо за Ваш комментарий!
      Рад, что мой канал полезен и помогает людям :)
      С уважением
      ХБ

  • @user-cs5rc2ye5w
    @user-cs5rc2ye5w 3 роки тому +2

    просто ШИКАРНО! За такой материал надо платить!) Эффекты и музыка супер. Вы золото,автор!

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

    Невероятно эффективно, коротко, по делу, без воды, с прикольными звуками из Mortal combat 3 ultimatum ;) и не только, лучшее что я видел на данный момент про VBA. Всем буду советовать.

  • @Dmitrii-Zhinzhilov
    @Dmitrii-Zhinzhilov 3 роки тому +4

    Билял, благодарю! Мне понравился больше способ Range. Но для максимум возможностей конечно нужно знать все способы.
    Всё доступно, понятно, так что не могу остановиться в изучении курса!!!

  • @Silent_whisperer
    @Silent_whisperer 3 місяці тому

    Отличные видео-уроки!❤ Сегодня, в т.ч. благодаря вам, решил нетривиальную задачу на работе, благодаря чему много человек в будущем сэкономят кучу времени 👏

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

    Красавик. Начал смотреть. Надеюсь не заброшено и есть дальше пища для ума.

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

    Bill, спасибо большое за видео, все четко, кратко(по теме) и очень красиво-наглядно. Буду смотреть все, возможно не по разу)

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

    Все подробно и понятно, спасибо!

  • @Midavok
    @Midavok 4 роки тому +13

    Для примера возьмем ячейку D2. Сослаться на эту ячейку можно множеством способов:
    Cells(2, 4)
    Cells(2, "D")
    Range("D2")
    [D2]
    Можно именовать эту ячейку, например назвать ее "Ячейка". Тогда обратиться к ней можно так:
    Range("Ячейка")
    [Ячейка]
    Если нужно сослаться на диапазон, например D2:G5, то это можно сделать без использования объекта Range:
    Cells(2, 4). Resize(4, 4)

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

      Здарвствуйте, Вадим!
      Спасибо за приведенные примеры, хороших Вам выходных :)
      С уважением,
      ХБ

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

    очень круто. Спасибо

  • @user-jw8vj9pv2z
    @user-jw8vj9pv2z 3 роки тому +1

    Отлично. Спасибо

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

    Спасибо за короткие уроки, когда видишь длинные уроки смотреть вообще неохото.

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

      Здравствуйте Имман,
      Да, стараюсь делать видео короткими и максимально содержательными, но зачастую бывают темы, которые просто невозможно упаковать в 15 минут 😊
      Хороших Вам выходных! 😊
      С уважением,
      Билял

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

    спасибо, автор!

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

    Оба метода имеют своё применение, так что -- спасибо!

  • @timeissand
    @timeissand 2 місяці тому

    Спасибо 🏅

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

    Классные уроки, прям профессионально все так рассказал-показал, очень наглядно и круто! Продолжай пожалуйста, получается очень хорошо! А подписчики набегут еще)) Просто VBA не очень популярная тема)

    • @BilyalKhassenov
      @BilyalKhassenov  5 років тому +3

      Добрый день! Большое спасибо за Ваш комментарий! То, что эти уроки полезны и помогают людям - наибольшая награда и стимул для меня, а подписчики и вправду, как Вы сказали, набегут! :)
      По поводу новых видео не переживайте, следующая пара видео уже готовятся к скорому выходу :)
      Если у Вас есть какие-либо пожелания, идеи или вопросы - пишите. С радостью помогу!
      Хорошего Вам вечера! :)

    • @placid3495
      @placid3495 5 років тому +3

      @@BilyalKhassenov ну у меня уже в рекомендуемых это видео появилось, что хорошо) С удовольствием смотрю, видно прям все видео сделаны качественно старательно, прям молодец!!! Я сейчас пилю учет для себя в экселе на работе, пока рабочий вариант есть, все конечно переделывать надо, потому как говнокода слишком много)) Зато все работает)) Но есть интерес и благодаря вот этим видео я сделаю все лучше в версии 2.0 :)

    • @BilyalKhassenov
      @BilyalKhassenov  5 років тому +3

      Ну вообще супер! Скоро начнем изучать Userforms в VBA, и тогда Ваш рабочий учетный файл еще более удобным, полезным и эффективным станет!
      Спасибо большое за Ваш интерес! :)
      Если что - обращайтесь в любой момент :)

    • @placid3495
      @placid3495 5 років тому +3

      @@BilyalKhassenov вот Userforms - это как раз то, чего мне не хватает! Жду с нетерпением)

    • @BilyalKhassenov
      @BilyalKhassenov  5 років тому +3

      @@placid3495 Спасибо! Постараюсь поскорее дойти к этой теме :)

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

    Cells хорош тем, что в циклах удобно использовать ;)

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

    всё круто только если можно масштаб при написании формул увеличте до 15 хотя бы, а то если в свёрнутом виде смотреть уж совсем мелко написано приходитса масштаб увеличивать многократно,вот кастате как пример в начале ролика где крестиками указано номер Cells просто идеально ,просто приходитса конспектировать проверять самому и в полноэкранном режиме не удобно, а если из полноэкранного выйти шрифт уж совсем мелкий становитса, а так очень круто подробно и доходчиво

  • @a.k.1058
    @a.k.1058 3 місяці тому

    отлично

  • @excelpowerquerypowerbi586
    @excelpowerquerypowerbi586 5 років тому +6

    молодец, пожалуйста продолжай пилить уроки

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

      Здравствуйте, Виталий! Большое спасибо за Ваш комментарий! На этой неделе запишу следующее видео, последний месяц просто совсем не было времени. Так что stay tuned, скоро выйдет следующий урок :)

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

    Бааааалддеежжж!!

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

    Билял, большое спасибо за уроки, с тобой VBA очень легко познаётся! Жаль только что при указании книги, листа и диапазона первым методом в скобках надо ещё кавычки ставить (" ") - не очень удобно...

  • @AJIEKCAHDP_CEPrEEBI14
    @AJIEKCAHDP_CEPrEEBI14 27 днів тому

    Спасибо за полезные ролики! А можно сделать так, что бы я на одном листе сделал рассчёты, и затем по кнопке "перенести" ввёл полученные результаты в другой лист, а на первом удалил все значения, вновь посчитал что-то и вновь кнопкой "перенести" перенёс бы значения далее на следующую строку того же столбца и так до бесконечности.

  • @yellowmoonishka1725
    @yellowmoonishka1725 5 місяців тому

    спс

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

    Спасибо за уроки .... вопрос в чём преимущество функции "Cells" если "Range" более понятнее и короче писать??

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

    Все супер, а что на счет Selection?

  • @user-fm6je9dl7l
    @user-fm6je9dl7l 3 роки тому +5

    Мне больше понравился способ Range, он проще и нагляднее

  • @pavelgerkher890
    @pavelgerkher890 10 місяців тому

    смотрю запоминаю.

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

    Привет спасибо за уроки. Есть вопрос по поводу полученного адреса ячейки. А как можно изменить или воспользоваться значением address (a = r.Areas(r.Areas.Count).Address). Переменная а as String. Спасибо

    • @BilyalKhassenov
      @BilyalKhassenov  4 роки тому +4

      Здравствуйте, Александр!
      Использовать полученный адрес области можно самыми разнообразными способами в соответствии с Вашими текущими потребностями:
      - Можно использовать адрес для поиска определённых значений в области при помощи Find, например: Range(a).Find("Test")
      - Можно использовать адрес для проработки каждой отдельной ячейки в области с данным адресом, например:
      Dim rgCellChecked As Range
      For Each rgCellChecked In Range(a)
      Debug.Print rgCellChecked.Value 'Здесь нужные Вам действия
      Next rgCellChecked
      -Можно обращаться к свойствам области под указанным адресом, например: MsgBox Range(a).Interior.Color
      - И многое-многое другое - это лишь малая часть возможностей применения
      Касательно изменения адреса - адрес области изменять невозможно. Если Вы хотите как-то идентифицировать полученную область, можно воспользоваться именованными областями, но это уже немного другая тема :)
      С уважением,
      ХБ

    • @user-zc1gm6lo4s
      @user-zc1gm6lo4s 4 роки тому

      @@BilyalKhassenovЯ уже чуть по другому сделать, но все равно спасибо

    • @user-zc1gm6lo4s
      @user-zc1gm6lo4s 4 роки тому

      @@BilyalKhassenov Снова привет. Я тут написал код к простой програмке. Суть такая: выскакивает форма 4 опшен-кнопок (верх, низ, право, лево) и кнопка "ОК". На листе выделяем несколько не смежных областей на листе. А последняя 1 выделенная ячейка куда скопировать и вставить эти ячейки (в 1 строку). Вставка от последней выделенной ячейки будет вправо или влево или вверх или вниз. Все вроде работает, но есть 2 момента. 1-работает медленно. 2- если в выделенной зоне больше 1-го столбца, то ячейки считываются горизонтально (это логично). Как сделать чтобы считывались вертикально. Пример проги могу предоставить. Спасибо

    • @user-zc1gm6lo4s
      @user-zc1gm6lo4s 4 роки тому

      @@BilyalKhassenov Я предлагаю Вам идею. Создание видеоуроков по улучшению (решению) задач-кода (или написанию толкового кода) подписчиков. Я понимаю что за это берут деньги, но это также насыщает канал полезной информацией как по vba так и по программированию в целом. Разбор интересных задач.

  • @fortunaate
    @fortunaate 5 місяців тому

    Можно ли сделать ячейку активирующую макрос?

  • @user-en8ko2vd1k
    @user-en8ko2vd1k Рік тому

    15 сен 2022

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

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

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

    На 5 минуте 30 секунде Вы заменяете координаты Cells на переменные rowindex и columnindex, сами переменные имеют свои координаты rowindex .cells (2,2) и columnindex.cells(3,2), если заменить переменные на изначальные ячейки то код будет такой:
    Thisworkbook.worksheets(1).cells( cells(2,2), cells(3,2) ). получается что в конечном коде на колонку ссылается две координаты и на строку ссылается 2 координаты.
    и в итоге непонятно какую строку и какой столбец эксель выбирает и почему. Прописываю всё это паралельно с Вами, все получается, но когда я попробовал изменить координату переменной rowindex.cells(2,2) на rowindex.cells(1,2) эксель выдал ошибку 1004

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

      Не профи, но отвечу что и да и нет. Да - координаты переменные имеют, и нет - переменные объявлены Long, соответственно содержать могут только целые числа. Т.е. такая переменная не может содержать в себе координаты(область, ячейку или массив). Когда используются переменные - вместо них возвращаются значения переменных, а не ее координаты. А ошибка была, т.к. при rowindex.cells(1,2) переменная ссылается на пустую ячейку А2 и возвращает ""(ничего), поэтому VBA не смог построить координаты и соответственно выполнить необходимое действие.

  • @user-oc5qe3yq4g
    @user-oc5qe3yq4g 2 місяці тому

    А как обратиться в коде к неоткрытой книге?

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

    Подскажите как перенести диапазон значений строк в столбец и наоборот?

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

      Igor Efimov, приветствую Вас!
      Выделить нужный диапазон - скопировать.
      Выделить ячейку куда необходимо вставить - Правой кнопкой мыши открыть Контекстное меню (В разделе Параметры вставки: под значками нажать на «Специальная вставка…».)
      Внизу возле кнопки «ОК» Поставить галочку «Транспонировать» и нажать «ОК».

  • @user-pz4eu4ct7m
    @user-pz4eu4ct7m Рік тому

    я не поняла, почему в примере две переменные, которые каждая ссылаются на отдельную ячейку, обьеденины в координаты одной ячейки? На 5:48 минуте видео

  • @mr.senmax6185
    @mr.senmax6185 Рік тому

    Постоянно нужно писать полный путь Таблица.Лист.Ячейка?

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

    Подскажи пожалуйста, что значит Cells(1)?

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

      Клетка, ячейка

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

      @@Tsynade1я про индекс? Это получается вся первая строка? А если написано cells(, 3), это получается весь 3й столбец?

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

      @@nickivanov7903 , приветствую Вас!
      Cells(1) - Нулевая строка(самая верхняя) в столбце «1»
      Cells(2) - Нулевая строка(самая верхняя) в столбце «2»
      Cells - Все строки и все столбцы листа

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

    Почему название макроса CellsIsVBA?

  • @sergoa.8849
    @sergoa.8849 Рік тому

    cells метод

  • @pavelgerkher890
    @pavelgerkher890 10 місяців тому

    а кто знает где Билял сейчас? живой?

    • @user-ie3qy4ws5t
      @user-ie3qy4ws5t 3 місяці тому

      Дай Бог чтобы живой был

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

    Получается, проще всегда использовать Range, чем городить Cells

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

    Я только не понял где это применить можно. Пипец я далёкий,)))

  • @user-ib7sx7oy9w
    @user-ib7sx7oy9w Рік тому

    Не совсем понял зачем нужен Cells, когда есть менее громоздкий и удобный Range

    • @UBAH_UBAHbI4_UBAHOB
      @UBAH_UBAHbI4_UBAHOB Рік тому +1

      математик, приветствую Вас!
      Cells(1, 1) - одна ячейка
      Cells - Все строки и все столбцы(все ячейки) листа.

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

    ThisWorkbook.Worksheets("Ëèñò10").Range(.cells(1, 1).cells(10, 5)) = 2
    Ввожу и пишет ошибку что не так всю голову сломал
    Добрый день подскажитте пожалуйста

    • @bogdantymKOLUBO
      @bogdantymKOLUBO Місяць тому

      ThisWorkbook.Worksheets("Лист10").Range(cells(1, 1),cells(10, 5)) = 2

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

    Cells хорош тем, что в циклах удобно использовать ;)