我想在一行中的每个单元格上运行一个名为ToNum的函数,其值将将单元格内容转换为字符串。以下是我的代码,但是我收到了编译错误,有人可以协助并让我知道我做错了吗?
Sub ConvRows()
Dim rng As Range
Dim cell As Variant
Set rng = Range("A8:A" & Range("A" & Rows.Count).End(xlUp).Row).Select
For Each cell In rng
cell.Value = ToNum(cell.Value)
Next
End Sub
Function ToNum(X As Variant) As String
Dim A As String
A = Trim(Str(X))
ToNum = A
End Function
答案 0 :(得分:2)
考虑:
Function ToNum(X As Variant) As String
Dim A As String
A = Trim(Str(X))
ToNum = "'" & A
End Function
答案 1 :(得分:2)
我会将此添加为评论,但我没有足够的声誉评论。为了避免已经包含字符串的单元格上的类型不匹配错误,您可以将ToNum
的调用放在子例程中的if
语句中,如下所示:
If IsNumeric(cell.Value) Then
cell.Value = ToNum(cell.Value)
End If
这应该防止子程序接触已经是字符串的单元格。