繁体   English   中英

检查值是否出现在不同的工作表中

Check if value appears in a different worksheet

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个清单。 我想看看它是否出现在其他工作表中,并根据它所在的工作表返回一个字符串。

例如伪代码:

value = "Hi"
If value in sheet 2 Then
  return "Yes"
If value in sheet 3 Then
  return "TDB"
Else
  return " "

我到目前为止的代码

Public Function Check(product As String) As String

    Dim BLRange As Range
    Dim xlCell As Range
    Dim BL As Worksheet
    Dim TBDRange As Range
    Dim TBD As Worksheet
    Dim result As String

    Set BL = ActiveWorkbook.Worksheets("Sheet2")
    Set BLRange = BL.Range("A1:A1000")
    Set TBD = ActiveWorkbook.Worksheets("Sheet3")
    Set TBDRange = TBD.Range("A1:A1000")

    For Each xlCell In BLRange
        If xlCell.Value = product Then
            Check = "Yes"
        End If
    Next xlCell

    For Each xlCell In TBDRange
        If xlCell.Value = product Then
            Check = "TBD"
        End If
    Next xlCell

    Check = ""
End Function

当我调用Check("Hi")我得到了#VALUE!

2 个回复

这是使用像@urdearboy 提到的find的函数的一个版本......

Public Function Check(product As String) As String

    Dim BLRange As Range
    Dim TBDRange As Range
    Dim fndRng As Range

    With ActiveWorkbook
        Set BLRange = .Worksheets("Sheet2").Columns("A")
        Set TBDRange = .Worksheets("Sheet3").Columns("A")
    End With

    Set fndRng = BLRange.Find(product)
    If Not fndRng is Nothing Then Check = "Yes": Exit Function

    Set fndRng = TBDRange.Find(product)
    If Not fndRng is Nothing Then Check = "TBD": Exit Function

End Function

试试这个代码(已经测试和工作)

Public Function Check(product As String) As String

Dim BLRange As Range
Dim BL As Worksheet
Dim TBDRange As Range
Dim TBD As Worksheet
Dim result As String

Set BL = ActiveWorkbook.Worksheets("Sheet2")
Set BLRange = BL.Range("A1:A1000")
Set TBD = ActiveWorkbook.Worksheets("Sheet3")
Set TBDRange = TBD.Range("A1:A1000")

Check = "none"

For Each xlCell In BLRange
 If xlCell.Text = product Then
    Check = "Yes"
    GoTo a
 End If
Next xlCell

For Each xlCell In TBDRange
 If xlCell.Text = product Then
    Check = "TBD"
    GoTo a
 End If
Next xlCell

Exit Function

a:


End Function
1 检查单元格值是否出现在任何工作表中

如标题所述,我想检查函数内部某个值是否已经在工作簿内部。 我当前的思维过程是遍历所有工作表,同时检查要查找的值是否出现在范围的任何单元格中。 出于某种原因,此代码实际上会查找重复值,但仅在1个工作表中查找(忽略其他工作表)。 ...

2 如何检查字符串是否出现在工作表*两次* Excel VBA中?

我试图检查某个字符串是否在给定的工作表上出现两次。 到目前为止,我只能检查字符串是否出现一次: 如何检查 UsedRange 以查看该值是否出现两次? 这需要是一个宏(到目前为止,我已经找到了执行此操作的公式)。 ...

2017-02-01 00:02:54 2 842   vba/ excel
4 MySQL:从两列中获取不同的值,并检查它们是否出现在同一表的其他两列中

我已经为此困扰了很长时间了。 所以是时候问你们了。 我有以下(简化的)MySQL表,称​​为“ fam”: 我基本上想要实现的是检查以后有多少孩子自己成为父母。 我以为这样的事情可能有用 但是,las,只有8名新兵加入(3333、4444和5656)。 对于我来说,最大的 ...

5 检查一个表中的日期是否出现在Access中另一表的范围内

我正在尝试在MS Access 2010中创建一个查询,该查询中有两个表(患者,幻影),并且试图查找幻影表中的日期是否为+/- 10以内的患者表上的特定站点获取病人扫描的天数。 患者表仅包含站点,患者ID和扫描接收日期。 对于每个站点编号,我们都必须获得一个幻像。 幻影表具有幻影的 ...

7 检查值是否首先出现在结果集中

我正在尝试检查查询结果是否是该行中的首次出现。 这些是我从MySQL dBase获得的结果: 我向他们展示: 我想在第一个“ 0”结果第一次出现之前插入一条水平线,例如: 尝试了一切,但没有什么比我想要的要近。 有人知道吗? ...

2016-04-12 21:23:48 1 32   php/ mysql
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM