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

Вход

Регистрация

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

 

= Мир MS Excel/копировать ячейки с добавлением функции - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » копировать ячейки с добавлением функции (Макросы/Sub)
копировать ячейки с добавлением функции
adamm1603 Дата: Среда, 16.11.2016, 05:37 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени форумчане! Есть макрос объединения ячеек без потери содержимого, в моём примере в ячейах A1:A16, то есть если их разъединить данные сохраняются. Мне нужно применить данный макрос к другим ячейкам, но проблема в том, что в них уже есть данные... В примере более понятно
К сообщению приложен файл: 0475218.xlsm (96.2 Kb)
 
Ответить
СообщениеДоброго времени форумчане! Есть макрос объединения ячеек без потери содержимого, в моём примере в ячейах A1:A16, то есть если их разъединить данные сохраняются. Мне нужно применить данный макрос к другим ячейкам, но проблема в том, что в них уже есть данные... В примере более понятно

Автор - adamm1603
Дата добавления - 16.11.2016 в 05:37
adamm1603 Дата: Среда, 16.11.2016, 05:39 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
модераторы в какой раз происходит затроение, не знаю почему!
 
Ответить
Сообщениемодераторы в какой раз происходит затроение, не знаю почему!

Автор - adamm1603
Дата добавления - 16.11.2016 в 05:39
nilem Дата: Среда, 16.11.2016, 08:54 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
adamm1603, привет
попробуйте вот так (предполагается, что А1:А8 - уже объединенные ячейки, с них будем копировать формат)
[vba]
Код
Sub ttt()
Dim r As Range
With Selection
    .UnMerge
    For Each r In .SpecialCells(2).Areas
        With r.Resize(8)
            .Value = r.Value
            Range("A1:A8").Copy
            .PasteSpecial Paste:=xlPasteFormats
        End With
    Next
End With
Application.CutCopyMode = False
End Sub
[/vba]
Просто интересно - а для чего нужны такие объединенные ячейки?


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеadamm1603, привет
попробуйте вот так (предполагается, что А1:А8 - уже объединенные ячейки, с них будем копировать формат)
[vba]
Код
Sub ttt()
Dim r As Range
With Selection
    .UnMerge
    For Each r In .SpecialCells(2).Areas
        With r.Resize(8)
            .Value = r.Value
            Range("A1:A8").Copy
            .PasteSpecial Paste:=xlPasteFormats
        End With
    Next
End With
Application.CutCopyMode = False
End Sub
[/vba]
Просто интересно - а для чего нужны такие объединенные ячейки?

Автор - nilem
Дата добавления - 16.11.2016 в 08:54
K-SerJC Дата: Среда, 16.11.2016, 09:14 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
мой вариант

выделите желтую объедененную ячейку, запустите макрос
[vba]
Код
Sub Rebrand()
Application.ScreenUpdating = False: Application.DisplayAlerts = False
Dim rng As Range
Set rng = Selection
rng.UnMerge
For Each cell In rng.Cells
cell.Value = ActiveCell.Value
Next cell
obedinenie_ycheek
Application.ScreenUpdating = True: Application.DisplayAlerts = True
End Sub
[/vba]
К сообщению приложен файл: adamm1603.xlsm (96.6 Kb)


Благими намерениями выстелена дорога в АД.

Сообщение отредактировал K-SerJC - Среда, 16.11.2016, 09:47
 
Ответить
Сообщениемой вариант

выделите желтую объедененную ячейку, запустите макрос
[vba]
Код
Sub Rebrand()
Application.ScreenUpdating = False: Application.DisplayAlerts = False
Dim rng As Range
Set rng = Selection
rng.UnMerge
For Each cell In rng.Cells
cell.Value = ActiveCell.Value
Next cell
obedinenie_ycheek
Application.ScreenUpdating = True: Application.DisplayAlerts = True
End Sub
[/vba]

Автор - K-SerJC
Дата добавления - 16.11.2016 в 09:14
adamm1603 Дата: Среда, 16.11.2016, 11:10 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо Вам буду пробовать!
Просто интересно - а для чего нужны такие объединенные ячейки?

Суть в том, что руководство предоставило нам таблицу в которой ячейки объеденные и этого не избежать, но проблема в том, что фильтр в данном случае не работает как надо, вот мне и пришлось прибегнуть к макросу объединения ячеек без потери данных, что бы фильтр работал корректно. А Ваш макрос позволит мне так скажем преобразовать ячейки без потери данных!
 
Ответить
СообщениеСпасибо Вам буду пробовать!
Просто интересно - а для чего нужны такие объединенные ячейки?

Суть в том, что руководство предоставило нам таблицу в которой ячейки объеденные и этого не избежать, но проблема в том, что фильтр в данном случае не работает как надо, вот мне и пришлось прибегнуть к макросу объединения ячеек без потери данных, что бы фильтр работал корректно. А Ваш макрос позволит мне так скажем преобразовать ячейки без потери данных!

Автор - adamm1603
Дата добавления - 16.11.2016 в 11:10
adamm1603 Дата: Среда, 16.11.2016, 11:12 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Извиняюсь, опять троит...
 
Ответить
СообщениеИзвиняюсь, опять троит...

Автор - adamm1603
Дата добавления - 16.11.2016 в 11:12
adamm1603 Дата: Среда, 16.11.2016, 11:32 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem всё работает, а есть возможность подкорректировать макрос, что бы он копировал не только значения но и формулы, то есть в моём примере первая (верхняя) ячейка содержит число, текст, а остальные привязаны через[vba]
Код
=###
[/vba]
K-SerJC у вас то же всё работает, хотелось что бы макрос работал с областью, а не конкретно с ячейкой, но всё равно спасибо!
 
Ответить
Сообщениеnilem всё работает, а есть возможность подкорректировать макрос, что бы он копировал не только значения но и формулы, то есть в моём примере первая (верхняя) ячейка содержит число, текст, а остальные привязаны через[vba]
Код
=###
[/vba]
K-SerJC у вас то же всё работает, хотелось что бы макрос работал с областью, а не конкретно с ячейкой, но всё равно спасибо!

Автор - adamm1603
Дата добавления - 16.11.2016 в 11:32
nilem Дата: Среда, 16.11.2016, 11:51 | Сообщение № 8
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
с формулой попробуйте вот так:
[vba]
Код
Sub ttt()
Dim r As Range
With Selection
    .UnMerge
    For Each r In .SpecialCells(2).Areas
        With r.Resize(8)
            .Offset(1).Resize(7).Formula = "=" & r.Address
            Range("A1:A8").Copy
            .PasteSpecial Paste:=xlPasteFormats
        End With
    Next
End With
Application.CutCopyMode = False
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениес формулой попробуйте вот так:
[vba]
Код
Sub ttt()
Dim r As Range
With Selection
    .UnMerge
    For Each r In .SpecialCells(2).Areas
        With r.Resize(8)
            .Offset(1).Resize(7).Formula = "=" & r.Address
            Range("A1:A8").Copy
            .PasteSpecial Paste:=xlPasteFormats
        End With
    Next
End With
Application.CutCopyMode = False
End Sub
[/vba]

Автор - nilem
Дата добавления - 16.11.2016 в 11:51
adamm1603 Дата: Среда, 16.11.2016, 12:06 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem всё супер, извините за назойливость, последний нюанс, что подправить в коде, что бы знак закрепления $ не присутствовал
 
Ответить
Сообщениеnilem всё супер, извините за назойливость, последний нюанс, что подправить в коде, что бы знак закрепления $ не присутствовал

Автор - adamm1603
Дата добавления - 16.11.2016 в 12:06
_Boroda_ Дата: Среда, 16.11.2016, 12:17 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
r.Address(0,0) напишите


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщениеr.Address(0,0) напишите

Автор - _Boroda_
Дата добавления - 16.11.2016 в 12:17
adamm1603 Дата: Среда, 16.11.2016, 12:23 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 144
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
спасибо всё работает отлично!!!
 
Ответить
Сообщениеспасибо всё работает отлично!!!

Автор - adamm1603
Дата добавления - 16.11.2016 в 12:23
Мир MS Excel » Вопросы и решения » Вопросы по VBA » копировать ячейки с добавлением функции (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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