我在Excel中的列“K”中有一系列金额。我希望宏从第9行开始逐个单元格显示错误消息,如果单元格中的数量不是格式####,##。
因此,例如,如果金额为“1234.56”,我预计会出现错误消息,但如果输入的金额为“9,34”则不会出现
我有下面的代码但不知何故它不起作用。我应该以不同的方式写些什么?
Sub Macro1()
lastrowK = Sheet1.Range("K" & Rows.Count).End(xlUp).Row
Col = "K"
For i = 9 To lastrowK
If InStr(1, Cells(i, Col), ".", vbTextCompare) <> 0 Then
MsgBox "Please check amount in following Cell " & Worksheets("Sheet1").Cells(i, Col).Address & "Format should be ####,##"
End If
Next i
End Sub
答案 0 :(得分:0)
见下面的工作代码:
Sub Macro1()
lastrowK = Sheet1.Range("K" & Rows.Count).End(xlUp).Row
Col = "K"
For i = 2 To lastrowK
If (Application.ThousandsSeparator = ".") Then
Cells(i, Col).Value = Replace(Cells(i, Col).Value, ".", "")
End If
If (Application.DecimalSeparator = ".") Then
Cells(i, Col) = Replace(Cells(i, Col).Value, ".", ",")
End If
Next i
End Sub