如果已将值输入同一行中的另一个单元格,则Excel宏可更改单元格对齐,边框和换行文本

时间:2014-08-14 13:12:29

标签: excel excel-vba alignment cell textwrapping vba

我正在尝试创建一个excel宏,它会更新单元格对齐,如果在该特定行中的一个单元格中输入值,则会在每行中包装单元格的文本和边框。例如,如果将值输入单元格A1,那么我希望宏更新包装文本,单元格对齐和单元格A1:O1的边框。不幸的是,对电子表格中的每一行应用条件格式是相当麻烦的,只会处理更新单元格边框,所以我认为可以更新所有3个单元格格式元素并动态搜索整个工作表的宏是最好的。

感谢您的协助!

1 个答案:

答案 0 :(得分:1)

我不知道你想如何触发这个宏,也不知道你想要应用的确切格式,但这就是我要做的事情:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        With Range(Target, Target.Offset(0,14)
            .HorizontalAlignment = xlCenter
            .WrapText = True
            .Font.Bold = True
            .Borders(xlEdgeBottom).LineStyle = xlContinuous
        End with
    end if
End Sub

修改 应出现添加按钮和指定宏窗口。选择New并将代码放在那里。

For Each Target in Range(Cells(1,1), Cells(65536, 1).End(xlUp))
  If Target <> "" Then
     With Range(Target, Target.Offset(0,14)
        .HorizontalAlignment = xlCenter
        .WrapText = True
        .Font.Bold = True
        .Borders(xlEdgeBottom).LineStyle = xlContinuous
     End With
  End If
Next