Excel:如果列B等于值,则编辑列A.

时间:2017-02-10 13:51:07

标签: excel vba

我的excel文件中有两列。 A列是数值,B列是单位(kg / g)。我需要将所有值转换为g(如c列中所示)。这是一个例子:

A        B     C
0.75     kg    750.00
0.80     kg    800.00
700.00   g     700.00
500.00   g     500.00

我正在查看VBA脚本,但是因为我还没有使用它们,所以我根本无法编辑它们。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果您不想使用VBA(而且您真的不需要),@ tom_preston上面的公式几乎正确。

在" C2"中,您可以使用公式 = IF(B2 =" kg",A2 * 1000,A1),然后将其复制下来这条线。

答案 1 :(得分:0)

如果你想用VBA编写,因为上面提到的问题是放在工作表模块中的代码。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim cellChanged As Range, c As Range

Const myVal As String = "kg"

Set cellChanged = Intersect(Target, Columns("B"))

     If Not cellChanged Is Nothing Then
        For Each c In cellChanged
             If UCase( c.Value) = UCase(myVal) Then
                c.Offset(, 1).Value = c.Offset(, -1).Value / 1000
             else
                c.Offset(, 1).Value = vbnullstring
            End if
        Next
      End if
End Sub

这有助于度过美好的一天!