第三细胞中两个细胞之间的差异

时间:2014-02-15 15:44:31

标签: excel vba excel-vba difference

我试图创建一个VBA脚本来计算两个单元格之间的差异并将其放在第三个单元格中。它应该在以下情况下工作:

  1. 选择三个单元格。其中两个有值,第三个是空白。
  2. 运行VBA脚本。
  3. VBA脚本计算具有值的单元格之间的差异。
  4. 差异记录在第三个(空白)单元格中。
  5. 正如您所理解的,这样的VBA脚本应该能够记录右侧单元格中左侧或上方的值的差异。

    我是vba中的新手所以我的vba编码很大程度上取决于论坛上讨论的类似问题。但这次我找不到解决方案。

1 个答案:

答案 0 :(得分:1)

试试这个:

Dim rng As Range, cel As Range

Set rng = Selection

If rng.Cells.Count <> 3 Then Exit Sub

With Application.WorksheetFunction
    If .CountA(rng) <> 2 Then Exit Sub
    For Each cel In rng
        If cel.Value = "" Then
            Select Case True
            Case cel.Address = rng(1).Address
                cel.Value = rng(2)-rng(3)
            Case cel.Address = rng(2).Address
                cel.Value = rng(1)-rng(3)
            Case cel.Address = rng(3).Address
                cel.Value = rng(1)-rng(2)
            End Select
            Exit For
        End If
    Next
End With

没有测试过soi留给你。 已编辑为simoco