Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 基于文件或工作簿1和工作簿2之间的比较,将行条目移动到第三个文件_Vba_Excel - Fatal编程技术网

Vba 基于文件或工作簿1和工作簿2之间的比较,将行条目移动到第三个文件

Vba 基于文件或工作簿1和工作簿2之间的比较,将行条目移动到第三个文件,vba,excel,Vba,Excel,我想我之前的问题不清楚。因此,我附上了样本数据以及对需求的详细了解。请给我一些建议 要求: a) 比较名为John.xlsx和Jack.xlsx的文件中的数据 b) 具体比较b列和C列。 c) 如果两列匹配,则将整行从Jack.xlsx移动到第三个文件Lilian.xlsx,该文件将具有相同的列标题,目前只是一个空白文件。 d) 从Jack.xlsx中删除移动的行 e) 保存Jack.xlsx和Lilian.xlsx 这有什么意义吗 谢谢你的努力:) PS:(很抱歉,我不能在帖子中附加超过2

我想我之前的问题不清楚。因此,我附上了样本数据以及对需求的详细了解。请给我一些建议

要求:
a) 比较名为John.xlsx和Jack.xlsx的文件中的数据
b) 具体比较b列和C列。
c) 如果两列匹配,则将整行从Jack.xlsx移动到第三个文件Lilian.xlsx,该文件将具有相同的列标题,目前只是一个空白文件。
d) 从Jack.xlsx中删除移动的行 e) 保存Jack.xlsx和Lilian.xlsx

这有什么意义吗

谢谢你的努力:)


PS:(很抱歉,我不能在帖子中附加超过2个链接,因为我在论坛中的声望很低。新加入论坛-。-')。否则,我也会为Lilian.xlsx文件添加一个链接

>您可以考虑使用本机Excel的特性,而不是尝试在VisualBasic中编写一些代码。例如,尝试将
=MATCH()
公式与自动筛选功能相结合,并设置条件以隐藏任何不匹配的内容,即出现“#N/A”


一旦您获得了要按预期显示的数据,然后复制并粘贴到新选项卡,并另存为new.csv。

假设您有3张工作表。Sheet1、Sheet2和Sheet3,下面的代码检查前10行的Sheet1和Sheet2的C列。如果找到匹配项,则会将数据复制到表3中的第一列:

Sub main()
Dim i As Integer
Dim intCurrentRow As Integer

intCurrentRow = 1
For i = 1 To 10
    If Sheet1.Cells(i, 3) = Sheet2.Cells(i, 3) Then
        Sheet3.Cells(intCurrentRow, 1) = Sheet1.Cells(i, 3)
        intCurrentRow = intCurrentRow + 1
    End If
Next i

End Sub
表1中的数据:

表2中的数据:

结果,表3中的数据:


你试过什么?请发布您的代码并查看此网站常见问题解答。欢迎来到堆栈溢出。