Добрый день, есть таблица с 2 столбцами, возможно эти данные копировать в 1 ячейку через запятую. например ручка 1шт, карандаш 2 шт и тд. ??
Добрый день, есть таблица с 2 столбцами, возможно эти данные копировать в 1 ячейку через запятую. например ручка 1шт, карандаш 2 шт и тд. ??из табл в строку
Мужики, ну работает почти, объединяет в строку, но нулевые позиции лепит туда, как написать условие сюда , если количество 0, то не переносить?
[vba]
Код
Function СКЛЕИТЬ(Диапазон As Range, _ Optional Разделитель_Данных$ = "", _ Optional Переносить_ДА_НЕТ$ = "ДА") As String '--------------------------------------------------------------------------------------- ' Procedure : СКЛЕИТЬ ' Author : Alex_ST ' Purpose : склеить тексты из выделенных ячеек в одну строку с задаваемыми при необходимости разделителями данных из разных ячеек ' Notes : по умолчанию включен перенос строк внутри ячейки '--------------------------------------------------------------------------------------- Dim Слитый_Текст$, Перенос_Строки$, a, i& Перенос_Строки = IIf(UCase(Переносить_ДА_НЕТ) <> "НЕТ", vbLf, " ") a = Application.Trim(Диапазон.Value) If Диапазон.Rows.Count = 1 Then СКЛЕИТЬ = Join(a, Разделитель_Данных): Exit Function For i = 1 To UBound(a) Слитый_Текст = Слитый_Текст & Join(Application.Index(a, i, 0), Разделитель_Данных) & Перенос_Строки Next СКЛЕИТЬ = Left$(Слитый_Текст, Len(Слитый_Текст) - 1) End Function
[/vba]
Мужики, ну работает почти, объединяет в строку, но нулевые позиции лепит туда, как написать условие сюда , если количество 0, то не переносить?
[vba]
Код
Function СКЛЕИТЬ(Диапазон As Range, _ Optional Разделитель_Данных$ = "", _ Optional Переносить_ДА_НЕТ$ = "ДА") As String '--------------------------------------------------------------------------------------- ' Procedure : СКЛЕИТЬ ' Author : Alex_ST ' Purpose : склеить тексты из выделенных ячеек в одну строку с задаваемыми при необходимости разделителями данных из разных ячеек ' Notes : по умолчанию включен перенос строк внутри ячейки '--------------------------------------------------------------------------------------- Dim Слитый_Текст$, Перенос_Строки$, a, i& Перенос_Строки = IIf(UCase(Переносить_ДА_НЕТ) <> "НЕТ", vbLf, " ") a = Application.Trim(Диапазон.Value) If Диапазон.Rows.Count = 1 Then СКЛЕИТЬ = Join(a, Разделитель_Данных): Exit Function For i = 1 To UBound(a) Слитый_Текст = Слитый_Текст & Join(Application.Index(a, i, 0), Разделитель_Данных) & Перенос_Строки Next СКЛЕИТЬ = Left$(Слитый_Текст, Len(Слитый_Текст) - 1) End Function
Alex_ST, А где там написано про фильтры? Прикрепил пример. 3 строки, одна скрыта фильтром. Должно быть Ручка 20 , степлер 10. А он лепит сначала названия потом кол-во и скрытую строку захватывает.
Alex_ST, А где там написано про фильтры? Прикрепил пример. 3 строки, одна скрыта фильтром. Должно быть Ручка 20 , степлер 10. А он лепит сначала названия потом кол-во и скрытую строку захватывает.Fitcher
не приводя ни текста макроса, ни файла-примера. Потом в другом посте приводите текст написанного мною макроса, который не имеет никакого отношения к фильтрам, сопровождая его загадочной фразой:
работает почти, объединяет в строку, но нулевые позиции лепит туда, как написать условие сюда , если количество 0, то не переносить?
Увидев, что у Вас какие-то проблемы с написанным мною макросом, я ищу топик, где он описан и рекомендую воспользоваться более свежей версией. В ответ Вы больше чем через месяц укоряете меня в том, что я не применяю какие-то фильтры и наконец-то разрожаетесь файлом-примером. Уж извините, но после такого отношения пытаться разобраться в Ваших проблемах у меня желания нет.
Fitcher, Вы почти 2 месяца назад в одном из постов что-то пишете про фильтр и что какой-то
не приводя ни текста макроса, ни файла-примера. Потом в другом посте приводите текст написанного мною макроса, который не имеет никакого отношения к фильтрам, сопровождая его загадочной фразой:
работает почти, объединяет в строку, но нулевые позиции лепит туда, как написать условие сюда , если количество 0, то не переносить?
Увидев, что у Вас какие-то проблемы с написанным мною макросом, я ищу топик, где он описан и рекомендую воспользоваться более свежей версией. В ответ Вы больше чем через месяц укоряете меня в том, что я не применяю какие-то фильтры и наконец-то разрожаетесь файлом-примером. Уж извините, но после такого отношения пытаться разобраться в Ваших проблемах у меня желания нет.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Четверг, 06.02.2014, 20:56