Каким образом можно "сцепить" записи по колонке номер 9 (см образец в прикрепленном файле). Обращаю особое внимание, что количество строк может быть произвольным, в конце суммирующей записи нет никаких знаков препинания, пробелов между записями нет.
Каким образом можно "сцепить" записи по колонке номер 9 (см образец в прикрепленном файле). Обращаю особое внимание, что количество строк может быть произвольным, в конце суммирующей записи нет никаких знаков препинания, пробелов между записями нет.Юрий_Нд
Но теперь-то вопрос не про комбинации! Название темы не отражает сути. Да и не сумма это, а сцепление текстов (значений ячеек) Связывать эту тему с прошлой не нужно - вопросы РАЗНЫЕ
Но теперь-то вопрос не про комбинации! Название темы не отражает сути. Да и не сумма это, а сцепление текстов (значений ячеек) Связывать эту тему с прошлой не нужно - вопросы РАЗНЫЕvikttur
Сообщение отредактировал vikttur - Вторник, 05.09.2017, 10:34
_Boroda_, sboy, Я Вам очень благодарен за конкретную помощь. Простите, есть еще одна проблемка. В случае если какая-либо строчка пуста, выводится двойной знак препинания ";;". Как обойти такую проблемку? И ещё. Если я Вас ещё не до конца замучил своей тупостью, прошу добавить чуть больше комментариев в тело функции.
_Boroda_, sboy, Я Вам очень благодарен за конкретную помощь. Простите, есть еще одна проблемка. В случае если какая-либо строчка пуста, выводится двойной знак препинания ";;". Как обойти такую проблемку? И ещё. Если я Вас ещё не до конца замучил своей тупостью, прошу добавить чуть больше комментариев в тело функции.Юрий_Нд
Function Sbor(d_ As Range, Optional del_ = ";")
Application.Volatile 'Автопересчет функции. Если их много, то убрать эту строку If d_.Columns.Count <> 1Then'если в ссылке d_ несколько столбцов
a_ = "Ссылка д.б. на ОДИН столбец" Else'иначе
r0_ = d_(1).Row 'номер первой строки из ссылки
c_ = d_(1).Column 'номер первого столбца из ссылки
r1_ = Cells(Rows.Count, c_).End(3).Row 'номер последней заполненной строки с столбце с_ If r1_ < r0_ Then'если r1<к0
a_ = "Ниже ссылки данных нет" Else'иначе For i = r0_ To r1_ 'цикл от r0 до r1 If Cells(i, c_) <> ""Then'если ячейка не пуста
a_ = a_ & del_ & Cells(i, c_) 'приклеиваем к переменной а справа разделитель и значение ячейки EndIf' Next i
a_ = Mid(a_, Len(del_) + 1, Len(a_)) ' отрезаем от полученного а слева столько символов, сколько их в разделителе EndIf EndIf
Sbor = a_ 'функция выводит то, что получилось в а EndFunction
Ловите
Function Sbor(d_ As Range, Optional del_ = ";")
Application.Volatile 'Автопересчет функции. Если их много, то убрать эту строку If d_.Columns.Count <> 1Then'если в ссылке d_ несколько столбцов
a_ = "Ссылка д.б. на ОДИН столбец" Else'иначе
r0_ = d_(1).Row 'номер первой строки из ссылки
c_ = d_(1).Column 'номер первого столбца из ссылки
r1_ = Cells(Rows.Count, c_).End(3).Row 'номер последней заполненной строки с столбце с_ If r1_ < r0_ Then'если r1<к0
a_ = "Ниже ссылки данных нет" Else'иначе For i = r0_ To r1_ 'цикл от r0 до r1 If Cells(i, c_) <> ""Then'если ячейка не пуста
a_ = a_ & del_ & Cells(i, c_) 'приклеиваем к переменной а справа разделитель и значение ячейки EndIf' Next i
a_ = Mid(a_, Len(del_) + 1, Len(a_)) ' отрезаем от полученного а слева столько символов, сколько их в разделителе EndIf EndIf
Sbor = a_ 'функция выводит то, что получилось в а EndFunction
_Boroda_, vikttur, Ещё раз большое спасибо за участие. sboy, Я с вами согласен. Написано коряво. В оправдание могу сказать только то, что в моей просьбе:
я имел в виду окончательный результат, который выводится в десятую колонку. Извиняюсь.
_Boroda_, vikttur, Ещё раз большое спасибо за участие. sboy, Я с вами согласен. Написано коряво. В оправдание могу сказать только то, что в моей просьбе:
Прошу прощения Уважаемые Знатоки Excel. Скажите, то что в первой колонке Excel абсолютно одинаковые значения, может нам как-то "помочь уйти" от программирования в ВБА и решить задачу "сцепления" стандартными функциями Excel?
Прошу прощения Уважаемые Знатоки Excel. Скажите, то что в первой колонке Excel абсолютно одинаковые значения, может нам как-то "помочь уйти" от программирования в ВБА и решить задачу "сцепления" стандартными функциями Excel?Юрий_Нд
Сообщение отредактировал Юрий_Нд - Среда, 06.09.2017, 16:32
Нет. Я говорю о дополнительном столбце вообще вне таблицы или в скрытом (у меня в файле столбец М) 9-й столбец с формулами, которые Вы раньше попросили нас написать. А вот 8-й столбец не совсем ясно зачем Файл с формулой до строки 111. Если нужно больше, то сделайте у столбца М ненулевую ширину и протяните там формулы еще ниже
Нет. Я говорю о дополнительном столбце вообще вне таблицы или в скрытом (у меня в файле столбец М) 9-й столбец с формулами, которые Вы раньше попросили нас написать. А вот 8-й столбец не совсем ясно зачем Файл с формулой до строки 111. Если нужно больше, то сделайте у столбца М ненулевую ширину и протяните там формулы еще ниже_Boroda_