Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разъединить объединенную ячейку и заполнить данными. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Разъединить объединенную ячейку и заполнить данными. (Макросы/Sub)
Разъединить объединенную ячейку и заполнить данными.
Aleksej Дата: Вторник, 16.08.2016, 07:22 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 58
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем доброго времени суток! :)

Нужна помощь знатоков VBA в написании макроса!

Задача:
1. Имеется файл Excel с объединенными ячейками (см. приложение)
2. Необходим макрос который находит объединенную ячейку, разъединяет её и во все получившиеся после разъединения ячейки записывает значение, которое было в объединенной ячейке. %)
3. В примере файла Excel: на листе1 исходные данные, на листе 2 как должно быть после применения макроса.

Спасибо! :)
К сообщению приложен файл: 3333333.xls(50Kb)
 
Ответить
СообщениеВсем доброго времени суток! :)

Нужна помощь знатоков VBA в написании макроса!

Задача:
1. Имеется файл Excel с объединенными ячейками (см. приложение)
2. Необходим макрос который находит объединенную ячейку, разъединяет её и во все получившиеся после разъединения ячейки записывает значение, которое было в объединенной ячейке. %)
3. В примере файла Excel: на листе1 исходные данные, на листе 2 как должно быть после применения макроса.

Спасибо! :)

Автор - Aleksej
Дата добавления - 16.08.2016 в 07:22
Pelena Дата: Вторник, 16.08.2016, 07:30 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9857
Репутация: 2254 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Здравствуйте.
Последовательность действий такая:
- выделяем нужный диапазон (в примере А3:G29)
- снимаем объединение ячеек
- нажимаем F5 -- Выделить -- Пустые ячейки -- ОК
- нажимаем на клавиатуре = и стрелку вверх. В строке формул должно получиться =A3
- нажимаем на клавиатуре сочетание Ctrl+Enter

Если нужен именно макрос, запишите действия макрорекодером
На эту тему можно посмотреть видео http://www.excelworld.ru/video....n_range


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Последовательность действий такая:
- выделяем нужный диапазон (в примере А3:G29)
- снимаем объединение ячеек
- нажимаем F5 -- Выделить -- Пустые ячейки -- ОК
- нажимаем на клавиатуре = и стрелку вверх. В строке формул должно получиться =A3
- нажимаем на клавиатуре сочетание Ctrl+Enter

Если нужен именно макрос, запишите действия макрорекодером
На эту тему можно посмотреть видео http://www.excelworld.ru/video....n_range

Автор - Pelena
Дата добавления - 16.08.2016 в 07:30
Aleksej Дата: Вторник, 16.08.2016, 07:39 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 58
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena,
Цитата
Если нужен именно макрос, запишите действия макрорекодером

Это если несколько ячеек то можно и так, а если их сотни или тысячи в файле, как сделать чтоб макрос нашел все и преобразовал? %)
 
Ответить
СообщениеPelena,
Цитата
Если нужен именно макрос, запишите действия макрорекодером

Это если несколько ячеек то можно и так, а если их сотни или тысячи в файле, как сделать чтоб макрос нашел все и преобразовал? %)

Автор - Aleksej
Дата добавления - 16.08.2016 в 07:39
Pelena Дата: Вторник, 16.08.2016, 07:43 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 9857
Репутация: 2254 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Какая разница? Выделите весь диапазон с данными (Ctrl+*)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеКакая разница? Выделите весь диапазон с данными (Ctrl+*)

Автор - Pelena
Дата добавления - 16.08.2016 в 07:43
Aleksej Дата: Вторник, 16.08.2016, 07:44 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 58
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena,
Цитата
Какая разница? Выделите весь диапазон с данными (Ctrl+*)

Сори, все разобрался. Спасибо за помощь. :)
 
Ответить
СообщениеPelena,
Цитата
Какая разница? Выделите весь диапазон с данными (Ctrl+*)

Сори, все разобрался. Спасибо за помощь. :)

Автор - Aleksej
Дата добавления - 16.08.2016 в 07:44
Aleksej Дата: Вторник, 16.08.2016, 07:53 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 58
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena,
Цитата
Выделите весь диапазон с данными

Если всё выделять другая проблема появляется, ячейки которые не были объеденены тоже заполняются, а это не нужно.
Нужно, чтоб заполнялись ячейки которые были объединенными. :)
 
Ответить
СообщениеPelena,
Цитата
Выделите весь диапазон с данными

Если всё выделять другая проблема появляется, ячейки которые не были объеденены тоже заполняются, а это не нужно.
Нужно, чтоб заполнялись ячейки которые были объединенными. :)

Автор - Aleksej
Дата добавления - 16.08.2016 в 07:53
Pelena Дата: Вторник, 16.08.2016, 08:07 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 9857
Репутация: 2254 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Тогда приведите более реальный пример


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеТогда приведите более реальный пример

Автор - Pelena
Дата добавления - 16.08.2016 в 08:07
nilem Дата: Вторник, 16.08.2016, 08:15 | Сообщение № 8
Группа: Авторы
Ранг: Ветеран
Сообщений: 1057
Репутация: 400 ±
Замечаний: 0% ±

Excel 2013
можно так попробовать
[vba]
Код
Sub ertert()
Dim r As Range
For Each r In Range("A3:G" & Cells(Rows.Count, 1).End(xlUp).Row)
    If r.MergeCells Then
        With r.MergeArea
            .UnMerge
            .Value = r.Value
        End With
    End If
Next r
End Sub
[/vba]
правда, на тысячах ячеек будет, видимо, тормозить


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеможно так попробовать
[vba]
Код
Sub ertert()
Dim r As Range
For Each r In Range("A3:G" & Cells(Rows.Count, 1).End(xlUp).Row)
    If r.MergeCells Then
        With r.MergeArea
            .UnMerge
            .Value = r.Value
        End With
    End If
Next r
End Sub
[/vba]
правда, на тысячах ячеек будет, видимо, тормозить

Автор - nilem
Дата добавления - 16.08.2016 в 08:15
Aleksej Дата: Вторник, 16.08.2016, 08:27 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 58
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena,
Цитата
приведите более реальный пример


Изменил исходный файл - ЛИСТ1.
Возможно, чтоб макрос сам находил только объединенные ячейки, разъединял и заполнял их? :(
Потому что реальный исходный файл, там тысячи строк. Выложить настоящий не могу по понятным причинам.
К сообщению приложен файл: 0557251.xls(46Kb)
 
Ответить
СообщениеPelena,
Цитата
приведите более реальный пример


Изменил исходный файл - ЛИСТ1.
Возможно, чтоб макрос сам находил только объединенные ячейки, разъединял и заполнял их? :(
Потому что реальный исходный файл, там тысячи строк. Выложить настоящий не могу по понятным причинам.

Автор - Aleksej
Дата добавления - 16.08.2016 в 08:27
Aleksej Дата: Вторник, 16.08.2016, 08:33 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 58
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
nilem,
Цитата
можно так попробовать

Спасибо, вроде работает. :) На ошибки не проверял, но на первый взгляд все правильно. yes

Цитата
на тысячах ячеек будет, видимо, тормозит

Конечно не мгновенно, но это и не требуется. Ещё раз спасибо. :)
 
Ответить
Сообщениеnilem,
Цитата
можно так попробовать

Спасибо, вроде работает. :) На ошибки не проверял, но на первый взгляд все правильно. yes

Цитата
на тысячах ячеек будет, видимо, тормозит

Конечно не мгновенно, но это и не требуется. Ещё раз спасибо. :)

Автор - Aleksej
Дата добавления - 16.08.2016 в 08:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Разъединить объединенную ячейку и заполнить данными. (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!