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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование только УФ, без прочих форматов - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование только УФ, без прочих форматов (Макросы/Sub)
Копирование только УФ, без прочих форматов
skais Дата: Пятница, 23.06.2017, 10:24 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Существует ли возможность копирования только УФ, без прочих форматов
В примере я хочу скопировать УФ из ячейки A2 в B4, но так, чтобы УФ скопировалось, а объединение ячеек не исчезало!
Быть может есть возможность менять макросом диапазон ячейки A2 и захватить все, что даст тот нужный результат. Как можно макросом перепрописывать диапазон в существующих правилах УФ?
К сообщению приложен файл: Book1.xlsx(10Kb)


Сообщение отредактировал skais - Пятница, 23.06.2017, 10:31
 
Ответить
СообщениеСуществует ли возможность копирования только УФ, без прочих форматов
В примере я хочу скопировать УФ из ячейки A2 в B4, но так, чтобы УФ скопировалось, а объединение ячеек не исчезало!
Быть может есть возможность менять макросом диапазон ячейки A2 и захватить все, что даст тот нужный результат. Как можно макросом перепрописывать диапазон в существующих правилах УФ?

Автор - skais
Дата добавления - 23.06.2017 в 10:24
Roman777 Дата: Пятница, 23.06.2017, 11:06 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 776
Репутация: 87 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
skais, Как вы планируете копировать в B4, если объединены у Вас A4-D4? Даже если скопируете, то УФ в B4, при вводе значений в объединённую ячейку, значение то будет на А4, УФ не будет в ней работать...
Другими словами, если Вы хотите увидеть УФ в объединённой ячейке, нужно его копировать в А4
Вот так, я у себя копировал УФ. Мб можно и проще, но я что-то не дошёл:
[vba]
Код
Sub КопированиеПравилаУФ_1_N()
'предварительно удалить предыдущие правила
Dim Actsh As Worksheet
Dim r As Range, r1 As Range
Dim FC As FormatCondition
Dim BLS, BW, BCI, FB, FCI, IC, ICI, Formula, Operator1, Type1
Set Actsh = ActiveSheet
Application.ScreenUpdating = False
Set r1 = Selection 'чтобы можно было вернуться к той ячейке, которая была выделена
Set r = Actsh.Range("A2") 'отсюда копируем
    With r.FormatConditions(1).Borders
        BLS = .LineStyle
'        BW = .Weight
        BCI = .ColorIndex
    End With
    With r.FormatConditions(1)
        Formula = .Formula1
        Operator1 = .Operator
        Type1 = .Type
    End With
    With r.FormatConditions(1).Font
        FB = .Bold
        FCI = .ColorIndex
    End With
    With r.FormatConditions(1).Interior
        IC = .Color
        ICI = .ColorIndex
    End With
'       Actsh.Range("A4").FormatConditions.Delete   - для удаления
    With Actsh.Range("A4").FormatConditions _
        .Add(Type:=Type1, Operator:=Operator1, Formula1:=Formula)
            With .Borders
                .LineStyle = BLS
'                .Weight = BW
                .ColorIndex = BCI
            End With
            With .Font
                .Bold = FB
                .ColorIndex = FCI
            End With
            With .Interior
                .ColorIndex = ICI
                .Color = IC
            End With
    End With
Application.ScreenUpdating = True
End Sub
[/vba]


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Пятница, 23.06.2017, 11:11
 
Ответить
Сообщениеskais, Как вы планируете копировать в B4, если объединены у Вас A4-D4? Даже если скопируете, то УФ в B4, при вводе значений в объединённую ячейку, значение то будет на А4, УФ не будет в ней работать...
Другими словами, если Вы хотите увидеть УФ в объединённой ячейке, нужно его копировать в А4
Вот так, я у себя копировал УФ. Мб можно и проще, но я что-то не дошёл:
[vba]
Код
Sub КопированиеПравилаУФ_1_N()
'предварительно удалить предыдущие правила
Dim Actsh As Worksheet
Dim r As Range, r1 As Range
Dim FC As FormatCondition
Dim BLS, BW, BCI, FB, FCI, IC, ICI, Formula, Operator1, Type1
Set Actsh = ActiveSheet
Application.ScreenUpdating = False
Set r1 = Selection 'чтобы можно было вернуться к той ячейке, которая была выделена
Set r = Actsh.Range("A2") 'отсюда копируем
    With r.FormatConditions(1).Borders
        BLS = .LineStyle
'        BW = .Weight
        BCI = .ColorIndex
    End With
    With r.FormatConditions(1)
        Formula = .Formula1
        Operator1 = .Operator
        Type1 = .Type
    End With
    With r.FormatConditions(1).Font
        FB = .Bold
        FCI = .ColorIndex
    End With
    With r.FormatConditions(1).Interior
        IC = .Color
        ICI = .ColorIndex
    End With
'       Actsh.Range("A4").FormatConditions.Delete   - для удаления
    With Actsh.Range("A4").FormatConditions _
        .Add(Type:=Type1, Operator:=Operator1, Formula1:=Formula)
            With .Borders
                .LineStyle = BLS
'                .Weight = BW
                .ColorIndex = BCI
            End With
            With .Font
                .Bold = FB
                .ColorIndex = FCI
            End With
            With .Interior
                .ColorIndex = ICI
                .Color = IC
            End With
    End With
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Roman777
Дата добавления - 23.06.2017 в 11:06
skais Дата: Пятница, 23.06.2017, 11:10 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Roman777 Этого достаточно, B4 не нужно.
Впрочем я нашел решение- меняем диапазон
[vba]
Код
Range("A2").FormatConditions(1).ModifyAppliesToRange Range("A2:A10")
[/vba]
Классная ссылка
про это


Сообщение отредактировал skais - Пятница, 23.06.2017, 11:25
 
Ответить
СообщениеRoman777 Этого достаточно, B4 не нужно.
Впрочем я нашел решение- меняем диапазон
[vba]
Код
Range("A2").FormatConditions(1).ModifyAppliesToRange Range("A2:A10")
[/vba]
Классная ссылка
про это

Автор - skais
Дата добавления - 23.06.2017 в 11:10
Roman777 Дата: Пятница, 23.06.2017, 11:12 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 776
Репутация: 87 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
hands Ваш вариант поинтересней в Вашем случае будет)


Много чего не знаю!!!!
 
Ответить
Сообщениеhands Ваш вариант поинтересней в Вашем случае будет)

Автор - Roman777
Дата добавления - 23.06.2017 в 11:12
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование только УФ, без прочих форматов (Макросы/Sub)
Страница 1 из 11
Поиск:

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