我在 excel 的 2 列中有两个整数值。我需要检索这些整数并形成一个比率,然后将其与另一列中的另一个比率进行比较。
例如,如果 A1 和 B1 列中的数字是 2 和 3。我需要在 C1 中检索这些值并形成 2:3,并且应该比较这是否与 D1 中的相同(值为 4:1)。
我如何在 VBA 中做到这一点?
我在 C1 中创建了一个公式 =A1&":"&B1 并获得了 C1 中的值。但是我无法将它与 D1 中的值进行比较,我不确定如何在 VBA 中声明这个变量?请在这里帮助我。
我在 excel 的 2 列中有两个整数值。我需要检索这些整数并形成一个比率,然后将其与另一列中的另一个比率进行比较。
例如,如果 A1 和 B1 列中的数字是 2 和 3。我需要在 C1 中检索这些值并形成 2:3,并且应该比较这是否与 D1 中的相同(值为 4:1)。
我如何在 VBA 中做到这一点?
我在 C1 中创建了一个公式 =A1&":"&B1 并获得了 C1 中的值。但是我无法将它与 D1 中的值进行比较,我不确定如何在 VBA 中声明这个变量?请在这里帮助我。
如果 D1 的格式与 C1 相同,则公式=(D1=C1)
将返回 TRUE 或 FALSE。在 VBA 中,这可以存储在一个变量中:
Dim blnSame As Boolean
blnSame = (Range("D1").Value = Range("C1").Value)
根据 OP 的进一步评论,Excel 公式将是:
=IF(Sheet1!C1=Sheet2!D1,"Win","Lose") ' or ,"Lose","Win"
(根据需要调整单元格和工作表引用)可以复制到列中。
在 VBA 中,可以将公式插入到范围中:
Worksheets("Sheet3").Range("E1:E10").Formula = _
"=IF(Sheet1!C1=Sheet2!D1,""Win"",""Lose"")"
如果你想循环插入单词“Win”或“Lose”的列,那么 IMO 你应该学习一些 VBA。
你可以试试这个..
Private Sub Worksheet_Change(ByVal Target As Range)
Dim y As Integer
y = Target.Row
Select Case Target.Column
Case 1, 2 ' if col A
If IsEmpty(Cells(y, 1)) Or IsEmpty(Cells(y, 2)) Then
Cells(y, 3) = ""
Exit Sub
End If
Cells(y, 3) = "'" & Cells(y, 1) & ":" & Cells(y, 2)
Case 3 ' then compare
MsgBox IIf(Cells(y, 3) = Cells(y, 4), "Equal", "Not Equal")
End Select
End Sub
这个使用'
符号来避免将值自动转换为时间,为此你应该在 D 列中'
也有 ..