Существует ли возможность копирования только УФ, без прочих форматов В примере я хочу скопировать УФ из ячейки A2 в B4, но так, чтобы УФ скопировалось, а объединение ячеек не исчезало! Быть может есть возможность менять макросом диапазон ячейки A2 и захватить все, что даст тот нужный результат. Как можно макросом перепрописывать диапазон в существующих правилах УФ?
Существует ли возможность копирования только УФ, без прочих форматов В примере я хочу скопировать УФ из ячейки A2 в B4, но так, чтобы УФ скопировалось, а объединение ячеек не исчезало! Быть может есть возможность менять макросом диапазон ячейки A2 и захватить все, что даст тот нужный результат. Как можно макросом перепрописывать диапазон в существующих правилах УФ?skais
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]
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