Excel宏,用于在同一行的另一个单元格中输入值时更改单元格对齐方式、边框和换行文字

Excel宏,用于在同一行的另一个单元格中输入值时更改单元格对齐方式、边框和换行文字,excel,alignment,cell,word-wrap,vba,Excel,Alignment,Cell,Word Wrap,Vba,我正在尝试创建一个excel宏,如果在特定行的一个单元格中输入值,该宏将更新每行单元格的对齐方式、换行文本和边框。例如,如果在单元格A1中输入值,则我希望宏更新单元格A1:O1的换行文字、单元格对齐方式和边框。不幸的是,对电子表格中的每一行应用条件格式是相当麻烦的,并且只能处理更新单元格边框的问题,因此我认为一个可以更新所有3个单元格格式元素并动态搜索整个工作表的宏是最好的 谢谢你的帮助 我不知道你想如何触发这个宏,也不知道你想应用什么格式,但我会这样做: Private Sub Workshe

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


谢谢你的帮助

我不知道你想如何触发这个宏,也不知道你想应用什么格式,但我会这样做:

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
范围内每个目标的
(单元格(1,1),单元格(65536,1)。结束(xlUp))
如果目标为“”,则
带范围(目标,目标偏移量(0,14)
.HorizontalAlignment=xlCenter
.WrapText=True
.Font.Bold=True
.Borders(xlEdgeBottom).LineStyle=xlContinuous
以
如果结束
下一个

只需使用参数和样式即可。
.Borders()
引用所有边框。太棒了!我想用一个按钮触发这个宏。如果不能这样做,那么我希望在对工作表进行更改时触发它……我认为这就是您在上面编写的宏中所做的。如果文本值输入到第1列的单元格中,这是否适用?好的……测试后,这个如果输入了文本值,则可以使用。因此,现在我只想使用命令按钮激活此宏。谢谢!有人知道如何使用命令按钮触发此宏吗?谢谢,但是,由于某些原因,我收到了“应用程序定义或对象定义”错误,当我单击“调试”时,它将高亮显示:对于范围内的每个目标(单元格(1,1),单元格(60000,1).结束(xlTop))