Sub colorcells()
Dim cell As Range
For Each cell In Range("Range1")
If InStr(cell.Value, "Person1") > 0 Then
cell.Interior.Color = XlRgbColor.rgbSienna
ElseIf InStr(cell.Value, "") > 0 Then
cell.Interior.Color = XlRgbColor.rgbLightGrey
ElseIf InStr(cell.Value, "") = 0 Then
cell.Interior.Color = XlRgbColor.rgbWhite
End If
Next cell
End Sub
Hello, Последняя функция в коде очищает мои ячейки, если нет цветов. Я хотел бы добавить ячейки слияния (потому что я использую несколько цветных ячеек) и применять все границы к ячейке. Я пробовал некоторые, но он не работал, вероятно, потому, что я не могу использовать Dim cell As Range
для их слияния. Благодарим вас за помощь.Слияние ячеек в VBA
Спасибо за ответы. Я не мог хорошо объяснить. Я хочу объединить ячейки после этого
ElseIf InStr(cell.Value, "") = 0 Then
cell.Interior.Color = XlRgbColor.rgbWhite
Что я хочу сделать, это очистка. Если строк нет, мой код делает эти ячейки белыми. Тогда я нуждаюсь в нем, также объединяет ячейки, которые не имеют строкового значения.
Слитых клетки Вредные, BAD и его следует избегать. Просто создайте границу вокруг нескольких ячеек. Если вы хотите центрировать текст, используйте '.HorizontalAlignment = xlCenterAcrossSelection' – teylyn
Хотя комментарий @ teylyn был поддержан, я не могу согласиться. Объединенные ячейки следует использовать с осторожностью, но они обеспечивают функциональность, которая недоступна другим способом. Вы можете спросить, является ли ячейка частью объединенной области и какая объединенная область, чтобы они могли поддерживаться и управляться. Если вы используете 'xlCenterAcrossSelection', чтобы сосредоточиться на A: C и отдельно по D: F, вы не можете позже определить, какие ячейки являются частью какой группы. Если есть полезная функциональность, связанная с 'xlCenterAcrossSelection', я хотел бы узнать об этом. –
Вы говорите, что хотите добавить объединенные ячейки в свою подпрограмму, но вы не говорите, почему не можете. Пожалуйста, опишите вашу проблему. –