Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.10.2008, 15:16   #11
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот сейчас вроде всё...

Кнопки полностью убрал, все действия через контекстное меню ячеек
(в зависимости от количества выделенных ячеек - одна или несколько - добавляются разные пункты)

Выделите одну или несколько ячеек, содержащих артикулы (выделять надо ячейки одного столбца), щелкните правой кнопкой мыши, и выберите нужное действие.

Объединение артикулов из нескольких ячеек работает только для идущих подряд ячеек
Если выделить несмежные диапазоны (удерживая при выделении клавишу Control), при объединении вылетит ошибка...
Исправить это можно, но только если очень нужно...
Вложения
Тип файла: rar Twins.rar (22.6 Кб, 25 просмотров)

Последний раз редактировалось EducatedFool; 26.10.2008 в 16:18.
EducatedFool вне форума
Старый 07.11.2008, 22:47   #12
stbo
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 42
Радость

спасибо

Последний раз редактировалось stbo; 07.11.2008 в 23:19.
stbo вне форума
Старый 08.11.2008, 09:26   #13
stbo
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 42
По умолчанию

Ещё дин вопросик, а вот если артикли не в столбце а в строчке находятся? точнее один макрос для обоих вариантов. это возможно?
Точнее сказать, что для вас, по моему, не возможного не существует. Вопрос возможности относится только к выделению времени чтобы это сделать
stbo вне форума
Старый 08.11.2008, 16:17   #14
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
а вот если артикли не в столбце а в строчке находятся
Хорошо хоть не по диагонали на разных листах разных книг...

Цитата:
точнее один макрос для обоих вариантов. это возможно?
Возможно, но макрос получится в два раза больше. То есть всё равно по сути получится по 2 независимых макроса для каждого действия.

И какой макрос Вам нужен? Вообще-то в предыдущем примере их несколько. Один объединяет строки, другой разбивает строки, третий окрашивает повторяющиеся артикулы и т.д.

Какое действие Вас интересует в случае со строками?

В любом случае, прикрепите к сообщению свой файл с подробным описанием того, какие ячейки (группы ячеек) с артикулами придётся обрабатывать, как при обработке должны изменяться смежные с обрабатываемыми ячейки, и т.д.
EducatedFool вне форума
Старый 08.11.2008, 16:59   #15
stbo
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 42
По умолчанию

ну по диагонале, мысль интересая
stbo вне форума
Старый 08.11.2008, 17:14   #16
stbo
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 42
Сообщение

ну вот так......
Вложения
Тип файла: rar Variat2.rar (2.1 Кб, 13 просмотров)
stbo вне форума
Старый 08.11.2008, 22:26   #17
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Не совсем понятные комментарии...

Цитата:
все артикли расположены в одной строчке, выделяются, и …. объединются в одной ячейче
Ну и в чём проблема?
В коде давно присутствует макрос JoinCells, кторый только тем и занимается, что объединяет (в записью результата в выделенную ячейку) артикулы из 20 ячеек, находящихся правее выделенной ячейки.

Код:
Sub JoinCells()
    Application.ScreenUpdating = False
    On Error Resume Next
    Selection.Clear
    For Each ce In Selection.Cells
        Set ra = ce.Offset(0, 1).Resize(, 20)
        CellValue = ""
        For Each racells In ra.Cells
            If Len(racells.Value) > 1 Then CellValue = CellValue & racells.Value & vbLf
        Next racells
        ce.Value = Left(CellValue, Len(CellValue) - 1)
    Next ce
    Application.ScreenUpdating = True
End Sub

К тому же, что именно вы намереваетесь выделять?
Ячейку, в которой должен появиться результат объединения (как в случае с макросом JoinCells),
или диапазон ячеек, которые должны быть объединены?

Как можно распознать границы диапазона (в строке), содержащего ячейки, предназначенные для объединения?


Вообще, хотелось бы увидеть комментарии примерно такого вида:

Выделяем ячейку a5, содержащую несколько артикулов, выбираем в контекстном меню (или нажимаем кнопку) "Распределить артикулы по одной строке", после чего отдельные артикулы должны появиться в ячейках с5...к5, при этом содержимое ячейки а5 должно быть очищено.

И так для каждого необходимого Вам действия.

После этого будем сочинять код дальше.

Последний раз редактировалось EducatedFool; 08.11.2008 в 22:32.
EducatedFool вне форума
Старый 08.11.2008, 23:23   #18
stbo
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 42
По умолчанию

да. попытаюсь.
1. Объединение артиклей выделенных в столбце (диапазон А3-А14) выделить, выбираю "объединить" и получаем в А3 все артикли из выбранного диапазона в одной ячейке. Это уже есть и работает!!!!!!!
2 Объединение артиклей выделенных в строке (диапазон С2-М2). Выделить, выбираю " объединить" и получаем в С2 все артикли из выбранного диапазона в одной ячейке. Этого хотелось бы!!!!!!!
Спасибо за ваше терпение.
stbo вне форума
Старый 09.11.2008, 00:55   #19
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Объединение артиклей выделенных в строке (диапазон С2-М2). Выделить, выбираю " объединить" и получаем в С2 все артикли из выбранного диапазона в одной ячейке
Реализовано.
Выделяете диапазон e12-k12, после чего выбираете в контекстном меню пункт
Объединить артикулы в одну ячейку - e12

Для выполнения обратного действия выделяете ячейку e12 (должна быть выделена одна ячейка), и выбираете в контекстном меню команду
Разъединить артикулы по ячейкам этой строки
Вложения
Тип файла: rar Twins2.rar (24.1 Кб, 42 просмотров)
EducatedFool вне форума
Старый 09.11.2008, 12:08   #20
stbo
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 42
По умолчанию

обалдеть!!!! работает как часы!!!! спасибо !!!! это то что нужно!!!
stbo вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
счет цифровых и буквенных данных из ячейки R2D3 Microsoft Office Excel 0 09.10.2008 08:47
Передача данных из одной таблицы в другую, при выборе одной ячейки MickMick Microsoft Office Excel 6 06.10.2008 13:57
Найти первую цифру в данных ячейки.. kra183 Microsoft Office Excel 11 09.05.2008 01:35
Как разделить число и текст в одной ячейки на две ячейки. neboskreb Microsoft Office Excel 2 15.04.2008 19:39