在VBA中执行IF功能

时间:2016-05-04 08:44:46

标签: excel vba function excel-vba

我使用= IF函数

=IF(RIGHT(A1;1)="-";"-"&LEFT(A1;LEN(A1)-1);A1)*1

将一个减号从单元格的末尾移到开头,但是我想在宏中使用它,所以它在同一个上执行(或相同的选择)...

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