我已经录制了一个宏,我只想在 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
答案 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
将代码放在工作表中