Ячейка объединена по строкам. Требуется макросом узнать количество строк в объединенной ячейке.
ТурбоЕж выкладывал решение с использованием ЧСТРОК и пользовательской функции смещения от объединенной ячейки:
Function мсмещ(rowoffset As Long, collumnoffset As Long) As Variant
Dim mrng As Range
Application.Volatile
If Application.ThisCell.MergeCells Then
Set mrng = Application.ThisCell.MergeArea.Offset(rowoffset, collumnoffset)
Set mrng = mrng.Resize(Application.ThisCell.MergeArea.Rows.Count, 1)
Else
Set mrng = Application.ThisCell.Offset(rowoffset, collumnoffset)
End If
If Application.Intersect(mrng, Application.ThisCell) Is Nothing Then
мсмещ = mrng
Else
мсмещ = CVErr(xlErrRef)
End If
End Function
Проблема в том, что объединенные ячейки встречаются где попало и невозможно задать смещение, а с нулевым смещением функция выдает ошибку.
Можно ли доработать эту функцию для нулевого смещения или через свойства объединенной ячейки вычислить количеств строк в ней?
как обойти в частном случае подсчет объединенных ячеек?
Автор tutik, 12.12.2013, 11:42
« назад — далее »
Всем доброго времени суток!
Прошу помощи или подсказки.
Файл таблицы во вложении.
В таблице изменяется (в основном добавляются строки) столбец Изделия, соответственно дополняются и все остальные столбцы. Заказчики располагаются по алфавиту, поэтому строка может добавляться и в середине таблицы. (в итоге строк будет около 150)
Для первой гистограммы путем поисков в инете удалось посчитать кол-во заказов по месяцам. А вот для второй гистограммы не получается.
Хотелось бы, чтобы количество изделий по заказчикам считалось формулой. (в ячейках В58:В64)
Фактически нужно посчитать кол-во строк в объединенной ячейке или может можно посчитать разницу между номерами следующих друг за другом объединенных ячеек, но можно ли такое сделать…
П.С. Я понимаю, что объединенные ячейки — зло, но с ними же симпатичней. А к отчету нужно будет прилагать не только диаграммы, но и всю таблицу (и надо, чтобы она была читабельна не только для меня).
создать доп. столбец с формулой
=ПРОСМОТР("яяя";$A$3:A3) который можно скрыть.
после по нему делать подсчет с помощью СЧЕТЕСЛИ(диапазон доп. столбца;A58)
- Профессиональные приемы работы в Microsoft Excel
-
►
Обмен опытом -
►
Microsoft Excel -
►
как обойти в частном случае подсчет объединенных ячеек?
|
0 / 0 / 0 Регистрация: 07.07.2010 Сообщений: 12 |
|
|
1 |
|
Узнать количество объединенных ячеек07.07.2010, 18:35. Показов 19937. Ответов 8
Может кто подскажет как можно программно узнать количество объединенных строк или столбцов.
0 |
|
0 / 0 / 0 Регистрация: 07.07.2010 Сообщений: 12 |
|
|
07.07.2010, 18:36 [ТС] |
2 |
|
ссори, речь идет про Exel
0 |
|
vlth 14 / 14 / 2 Регистрация: 23.03.2010 Сообщений: 635 |
||||
|
07.07.2010, 18:48 |
3 |
|||
|
Например (аналогично строки):
Или хотелось обойтись без перебора? — по-моему, это невозможно.
0 |
|
0 / 0 / 0 Регистрация: 07.07.2010 Сообщений: 12 |
|
|
07.07.2010, 19:27 [ТС] |
4 |
|
хотелось без перебора думал свойство какое есть и я его не знаю.
0 |
|
0 / 0 / 0 Регистрация: 07.07.2010 Сообщений: 12 |
|
|
07.07.2010, 22:40 [ТС] |
5 |
|
ActiveCell.MergeArea.Cells.Count
0 |
|
1121 / 229 / 36 Регистрация: 15.03.2010 Сообщений: 698 |
|
|
08.07.2010, 10:25 |
6 |
|
ActiveCell.MergeArea.Cells.Count выдаст общее значение ячеек т.е. строки*столбцы.Для строк или столбцов нужно добавить Rows или Columns в приведенный выше код.
0 |
|
0 / 0 / 0 Регистрация: 07.07.2010 Сообщений: 12 |
|
|
08.07.2010, 12:02 [ТС] |
7 |
|
Да так и есть, Всем спасибо
0 |
|
14 / 14 / 2 Регистрация: 23.03.2010 Сообщений: 635 |
|
|
08.07.2010, 12:37 |
8 |
|
Я понял вопрос так, что имелось ввиду определение количества
0 |
|
0 / 0 / 0 Регистрация: 07.07.2010 Сообщений: 12 |
|
|
08.07.2010, 14:18 [ТС] |
9 |
|
Не совсем так имелось в виду именно количество строк и столбцов в объединенной конкретной ячейке. Извиняюсь за возможно не правильно поставленный вопос. Задача решена. Спасибо всем кто ответил.
0 |
С помощью какой функции можно узнать сколько объединено ячеек?
Подскажите, с помощью какой функции можно узнать точное количество объединённых строк и столбцов в одной ячейке?
Есть такие функции, как:
getRowSpan()
getColumnSpan()
Но как их применять нигде нет примера. Если я использую их сам, выдаёт ошибку, что они не объявлены.
-
Вопрос заданболее года назад
-
269 просмотров
Пример в Таблице https://docs.google.com/spreadsheets/d/1mkUDHVX1b5…
Попробуйте Range.isPartOfMerge()
function myFunction() {
const book = SpreadsheetApp.getActiveSpreadsheet();
const range = book.getRange('C5');
const mergedRange = range.getMergedRanges()[0];
if (mergedRange) {
const countCells = mergedRange.getValues()[0].length * mergedRange.getValues().length;
console.log('Входит в объединенную ячейку?', range.isPartOfMerge());
console.log('Диапазон объединения:', mergedRange.getA1Notation());
console.log('Количество объединенных ячеек:', countCells);
console.log('Количество строк в объединенном диапазоне:', mergedRange.getValues().length);
} else {
console.info('Ячейка не объединена');
}
}
Пригласить эксперта
-
Показать ещё
Загружается…
14 апр. 2023, в 04:52
5000 руб./за проект
14 апр. 2023, в 01:55
1000 руб./в час
13 апр. 2023, в 23:50
3000 руб./за проект
Минуточку внимания
Обычно вы предпочитаете объединять все ячейки с одинаковыми значениями в диапазоне в Excel. Но в некоторых случаях может потребоваться подсчитать все объединенные ячейки в выбранном диапазоне. Как с этим бороться? В этой статье будут представлены два метода быстрого подсчета объединенных ячеек в Excel.
Подсчет объединенных ячеек в диапазоне в Excel с кодом VBA
Легко подсчитывать объединенные ячейки в диапазоне в Excel одним щелчком мыши
Подсчет объединенных ячеек в диапазоне в Excel с кодом VBA
1. Держать ALT и нажмите F11 на клавиатуре, чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули, и скопируйте VBA в модуль.
VBA: подсчет объединенных ячеек в диапазоне
Function CountMerged(pWorkRng As Range) As Long
'Updateby20140307
Dim rng As Range
Dim total As Long
Set dt = CreateObject("Scripting.Dictionary")
For Each rng In pWorkRng
If rng.MergeCells Then
TempAddress = rng.MergeArea.Address
dt(TempAddress) = ""
End If
Next
CountMerged = dt.Count
End Function
3. Сохраните код, закройте окно и введите эту формулу. = CountMerged (A1: G10) (диапазон A1: G10 — это диапазон, из которого вы хотите подсчитать объединенные ячейки, вы можете изменить его по своему усмотрению) в пустую ячейку и нажмите Enter кнопку на клавиатуре. Затем подсчитанный результат отображается в ячейке, см. Снимок экрана:
Подсчет объединенных ячеек в диапазоне в Excel одним щелчком мыши
Здесь я покажу вам быстрый способ подсчета объединенных ячеек в диапазоне одним щелчком мыши с Выберите объединенные ячейки полезности Kutools for Excel. Пожалуйста, сделайте следующее.
1. Выберите диапазон с объединенными ячейками, который вы хотите подсчитать. А затем нажмите Кутулс > Выберите > Выбрать объединенные ячейки. Смотрите скриншот:
2. Затем Kutools for Excel диалоговое окно всплывает с общим количеством объединенных ячеек, перечисленных внутри. Пожалуйста, нажмите на OK кнопка. Затем сразу выбираются все объединенные ячейки в выбранном диапазоне. Смотрите скриншот:
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Легко подсчитывайте объединенные ячейки в диапазоне в Excel с помощью Kutools for Excel
Относительные статьи:
- Подсчет повторяющихся значений в столбце в Excel
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (2)
Оценок пока нет. Оцените первым!







