我在excel的2列中有两个整数值。我需要检索这些整数并形成一个比率,然后将其与另一列中的另一个比率进行比较。
例如,如果A1和A1列中的数字是2和3; B1。我需要检索这些值并在C1中形成2:3并且应该比较它是否与D1中的相同(值为4:1)。
我如何在VBA中执行此操作?
我在C1中创建了一个公式= A1&“:”& B1并获得了C1中的值。但是我无法将其与D1中的值进行比较,我不确定如何在VBA中声明此变量? 请帮助我。
答案 0 :(得分:0)
如果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。
答案 1 :(得分:0)
你可以试试这个..
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列中加上'
..