VBA Excel - 如果满足条件,则启动宏

时间:2015-03-06 20:49:43

标签: vba excel-vba excel

我已经录制了一个宏,我只想在 C1 有特定文字时触发。问题是 C1 是文本和数字的混合。因此,虽然文本是永久性的,但数字总是不同的。我想要的东西只能读取C1的文本,如果符合文本标准,下面的宏应该开始行动,否则它什么都不做。 C1 的永久性文本块 DFM:(后面是一些数字),即 DFM:34,493.27

其次,有没有更好的宏来实现录制宏的功能?

Sub AddDeci()
Range("C2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormat = "#,##0.000"
End Sub

1 个答案:

答案 0 :(得分:1)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If IsNumeric(Replace([C1], "DFM: ", "")) Then
        Range([C2], Cells(Cells(Rows.Count, "C").End(xlUp).Row, "D")).NumberFormat = "#,##0.000"
    ElseIf Not (Replace([C1], "DFM: ", "")) Then
        Range([C2], Cells(Cells(Rows.Count, "C").End(xlUp).Row, "D")).NumberFormat = General
    End If
End Sub

将代码放在工作表中 enter image description here