检查行是否包含值(循环+重复项)

时间:2019-01-22 12:57:37

标签: excel vba

我必须对数据库的导出进行交叉检查,并检查所有值是否一致。每页有8张纸和6万行。 为此,我有一个名为Crosscheck的主工作表,所有导出都以多个工作表进行。

我首先复制源列并进行循环。通过r.find (:=what)语句对每一行(If)进行分析。

我的问题是当我涉及多个变量时。我不知道会得到什么结果。对于许多交叉检查来说,它工作得很好,但现在我受以下限制:重复项太多,无法“仅仅”进行索引匹配(或者必须针对确切的行)

Crosscheck.Range("A"&r)是我的信息来源,它为我提供了同一行下几列的内容。所有数据都来自其他工作表。

Crosscheck.Range("G"&r)是一个变量。我现在不需要它了,但以后会需要它。

Crosscheck.Range("T"&r)是另一个变量,并且是两个工作表之间的链接,允许我进行索引匹配或.find偏移量。

现在,我需要检查B列包含的行中的range("G"&r)的值是否与Crosscheck.range("T"&r)相同。

我还尝试执行以下操作:countif数字在行内; if countif > 1 then True,但即使我手动进行检查,都是假的。

'Set LineGroups = LG.Range("B:B").Find(what:=CrossCheck.Cells(r, 20), LookIn:=xlValues, LookAt:=xlWhole)
            'If Not LineGroups Is Nothing Then
              'CrossCheck.Range("U" & r).Value = Application.WorksheetFunction.Index(LG.Range("B:B"), _
              'Application.WorksheetFunction.Match(CrossCheck.Range("G" & r), LG.Rows(LineGroups), 0)).Column

比方说,我必须在工作表2中查找“ 1234”是否在“ G_5678”的内部。 exemple

我希望结果是与CrossCheck.Range("G"&r)匹配的单元格的值或该数字在该特定行中存在的指示符。

0 个答案:

没有答案