我有两个数据范围:
DataRange是Sheet1中的范围(类似于A16:F30)
HoursDataRange是Sheet2中的范围(类似于A17:G90)。
我需要通过DataRange
行循环,从行中获取值,进行一些操作(比如将这些数据添加到seeprate wrokbook中),同时在A列中获取相应的单元格并查找{{}中的所有行1}}(Sheet2
)。我不知道如何做最后一件事 - 找到Sheet2中所有匹配的行。
我还不熟悉VBA,所以我读过我可以使用HoursDataRange
来过滤AutoFilters
或查找或循环。
什么是最佳解决方案?
由于我是程序员,我确实理解循环,但我并不熟悉VBA。
以下是Sheet1的简短示例:
HoursDataRange
这是Sheet2的缩写示例:
NAV Nr. CompName VAT Nr. Adress Name Type
101 Int1 1 Address1 Au 1
103 Int2 2 Address2 De 1
210 Int3 3 Address3 Es 1
212 Int4 4 Address4 Sw 1
310 Int5 5 Address5 Fi 1
345 Int6 6 Address6 Fr 1
因此,您会看到列Key Acc Key NAV Nr. Client EUR
3 Bu STA BU 212 Cl1 25,00
4 Bc STA BC 101 Cl2 25,00
1 Bu STA BU 212 Cl1 25,00
2 Bc STA BC 101 Cl2 25,00
位于两个工作表中,并且存在匹配值。我们可以假设每个Nav Nr.
。在Nav Nr
中只出现一次,我已经通过Sheet1 DataRange进行循环。但是,在Sheet1
中Sheet2
可以显示0到N次。所以我需要找到所有匹配的行(我需要找到整行而不仅仅是单元格,因为我需要对行中的所有值进行操作,例如,稍后我必须按Nav Nr
总结EUR列并且创建PDF,但这可能是后来的工作人员。现在我只想知道如何找到那些匹配的行。
答案 0 :(得分:0)
你只想完全按照你的描述去做。这是一个例子:
Sub renathy()
Dim Cdata As Range
Dim Chour As Range
For Each Cdata In Sheets("Sheet1").Range("A:A")
If Cdata <> "" Then
For Each Chour In Sheets("sheet2").Range("A:A")
If Cdata = Chour Then
'do stuff
End If
Next
End If
Next
End Sub