Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Автор Тема: Количество колонок при выделении несвязанных ячеек  (Прочитано 1081 раз)

0 Пользователей и 1 Гость просматривают эту тему.

GWolf

  • Старожил
  • ****
  • Уважение: +50/-0
  • Оффлайн Оффлайн
  • Сообщений: 961

Доброго времени суток!

Выделены ячейки: C8; D11; E13; F15
Вопрос: Как на VBA получить количество колонок в блоке C8:F15

    Set nbr = Selection
    couCel = nbr.Cells.Count
    couCol = nbr.CurrentRegion.Columns.Count '- вот это не работает
« Последнее редактирование: 11.09.2021, 20:35:40 от GWolf »
Записан
Путей к вершине - множество. Этот один из многих!

Serge 007

  • Администратор
  • Ветеран
  • *****
  • Уважение: +341/-0
  • Оффлайн Оффлайн
  • Сообщений: 3 038
    • Мир Excel

Здраствуйте

Выделены ячейки: C8; D11; E13; F15
Вопрос: Как на VBA получить количество колонок в блоке C8:F15?
Sub Columns_Count()
    Dim rngC As Range
    Set rngC = Application.InputBox("Выделенные ячейки:", _
                                    "Считаем количество столбцов в выделенном диапазоне", Replace(Selection.Address, ",", ";"), Type:=8)
    MsgBox Intersect(rngC.EntireColumn, rngC.Parent.Rows(1)).Count
End Sub
Записан
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Яндекс-деньги: 41001419691823 | WMR:126292472390

GWolf

  • Старожил
  • ****
  • Уважение: +50/-0
  • Оффлайн Оффлайн
  • Сообщений: 961

Здраствуйте ...
Доброго времени суток. Как всегда великолепно!
Если позволите - один вопрос: возможно ли данную Sub преобразовать в функцию, получающую на входе rng (Set rng = Selection) и возвращающей количество выделенных колонок. И не выдающую никаких сообщений?
Записан
Путей к вершине - множество. Этот один из многих!

GWolf

  • Старожил
  • ****
  • Уважение: +50/-0
  • Оффлайн Оффлайн
  • Сообщений: 961

Ага, нашел вот такое решение:
Sub wizow_Columns_Count()
    Dim rt As Range
    Set rt = Application.Selection
    nn = Columns_Count(rt)
    MsgBox nn
End Sub

Function Columns_Count(rt_)
'    'Выделены ячейки: C8; D11; E13; F15
'    'Вопрос: Как на VBA получить количество колонок в блоке C8:F15?
    Columns_Count = Intersect(rt_.EntireColumn, rt_.Parent.Rows(1)).Count
End Function
Правильно?
Записан
Путей к вершине - множество. Этот один из многих!
 



Темы без ответов

27.05.2022 14:38 конструкция из Shape 277
09.08.2019 14:09 Макрос для заполнения таблиц через форму 5166
18.07.2019 16:02 Рассылка почты из Excel при помощи почтовой программы TheBAT! 4553
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 6134
03.03.2018 00:00 Подсчет отработанного времени, за исключением заранее определенных перерывов 3231
23.05.2017 11:20 Копирование данных из одной таблицы в умную таблицу по условию 5048
15.03.2017 15:45 автозамена картинок PowerPoint 3959
11.03.2017 13:43 Изменить нумерацию страниц 3897
07.02.2017 18:43 Блокировка ячеек по наступлению даты 3017
28.08.2016 19:29 Одинаковые заголовки после обновления оглавления 3509





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.109 секунд. Запросов: 99.