首页 > 解决方案 > 根据单元格中的文本值设置单元格在范围内的对齐方式

问题描述

我是 VBA 新手,我有一个电子表格,如果单元格中的值等于“本月总计:”,我正在尝试将文本格式化为右对齐。我只需要它为工作簿中的 Worksheet1 工作。如果单元格 C3 中的值发生变化,我希望代码查看 B 列中的所有单元格并找到任何等于“本月总计:”的单元格并右对齐。但是,我的代码不起作用。当我修改单元格 C3 时,没有任何反应。

我的代码如下:


Dim SrchRng As Range, cel As Range

Set SrchRng = Range("$B1:$B1000")

If Target.Address = "C3" Then

For Each WS In Worksheets  
    With WS
        For Each cel In SrchRng  
            If InStr(1, cel.Value, "Total For The Month: ") > 0 Then  
                cel.HorizontalAlignment = xlRight  
            End If  
        Next cel  
    End With  
    Next WS  

End If

End Sub

标签: excelvba

解决方案


由于我不知道如何在评论中添加屏幕截图,因此我决定将其作为答案:

当你创建一个宏并且你想确保它被执行(或某一行被执行)时,你可以在 VBA 编辑器中添加一个断点,正如你在这个屏幕截图中看到的那样(只需单击左边距以添加断点):

在此处输入图像描述

如果要执行代码,VBA 编辑器会在那里暂停。如果不是,则不执行这段代码。


推荐阅读