比较值的差异并返回是或否

时间:2019-02-17 16:54:24

标签: excel math

我正在尝试做两件事,弄清楚Value1> = 3 AND Value2-Value1> =5。如果为true,那么我希望在与Value2相同的行中的特定单元格中显示YES 。我已经可以使用它了,但是我意外地将代码覆盖了,现在我已经在寻找解决方案并试图修复它达数小时之久,但是我似乎找不到它在起作用时的工作。请帮忙!

Sheet1:

enter image description here

名称= RandomName 值1 = 6

Sheet2:

enter image description here

名称= RandomName 值2 = 20

    SELECT * FROM recipeingredient 
    WHERE ingredient_id IN (6,7)
       --using IN clause



     SELECT * FROM recipeingredient 
     WHERE ingredient_id=6 OR 
       ingredient_id=7
     -- using OR

'定义活动单元格-这将查找与Value1和Value2相同的唯一标识符

Sub Ifgreaterthan()
Dim vFind
Dim lLoop As Long
Dim rFound As Range
Dim Sheet1 As Range
Dim REF As Variant
Dim NEW1 As Variant
Dim REFDELNEW1 As Integer
Dim x As String
Dim y As String

'这会在另一张纸中寻找唯一标识符

vFind = ActiveCell
On Error Resume Next

'这些是基于唯一标识符的值

With Sheet1         
   Set rFound = .UsedRange.Find(What:=vFind, After:=.Cells(1, 1), 
    LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, 
    SearchDirection:=xlNext, MatchCase:=False)

'变量是和否

REF = WorksheetFunction.VLookup("rFound", "Sheet1!A:B", 2, 0)
NEW1 = WorksheetFunction.VLookup("vFind", "Sheet2!A:B", 2, 0)
REFDELNEW1 = NEW1 - REF

“基本计算

x = "Yes"
y = "No"

我曾经按预期获得了否,但我设法丢失了代码。我确定答案在那里,因为我使用的是Excel VBA跟踪更改日志,因此我可以确定在某个时候它做了应做的事情。我已经花了数小时试图重现这种情况,但现在不确定该在哪里寻找或做什么。我希望专业人士能够立即发现解决方案。同时,我还将自己编写代码。

1 个答案:

答案 0 :(得分:0)

因此,我最终找到了一个比我的问题更简单的解决方案。请注意,您使用的ActiveCell很重要。

这是当前问题的解决方案:

 Sub Greaterthan()

    Dim REF As Integer

    Dim DEF As Integer


     On Error Resume Next

     REF = ActiveCell.Offset(, 3).Value

      DEF = Application.Index(Sheets("Sheet1").Range("A1:A100"), 
              Application.Match(Sheets("Sheet2").Range(ActiveCell.Address), 
              Sheets("Sheet1").Range("B5:B1000"), 0))

       Number = 3

      x = "Yes"

      y = "No"


           If (REF - DEF) > Number Then

            ActiveCell.Offset(, 3).Value = x

           Else

           ActiveCell.Offset(, 3).Value = y

       End If


 End Sub