我使用= IF函数
=IF(RIGHT(A1;1)="-";"-"&LEFT(A1;LEN(A1)-1);A1)*1
将一个减号从单元格的末尾移到开头,但是我想在宏中使用它,所以它在同一个列上执行(或相同的选择)...
答案 0 :(得分:1)
1)使用For Each ....循环结构循环遍历范围中的每个单元格。 2)如果您想将123-到-123的“数字”转换为正确的数字而不是文本,请使用Val命令将字符串转换为数字。 但请注意,如果你有一个类似“ABC-”的单元格,那么这将成为-ABC,然后VBA会尝试将其转换为数字......并因此产生零
Sub MoveMinus()
Dim c As Range
For Each c In Intersect(Selection, Selection.Worksheet.UsedRange)
If (Right(c, 1) = "-") Then
c = Val("-" & Left(c, Len(c) - 1)) 'Val to make the result numeric
End If
Next
End Sub