首先,如果在其他地方回答,我很抱歉。我已经搜索了该站点,但找不到任何似乎可以满足我的需求的答案。我对宏完全陌生,这将是我第一次尝试实现宏。我尝试自己录制一个,但正如我来到这里清楚地表明的那样,这让我无处可去……我不知道如何编写宏/VBA。我尝试运行 Excel 的“记录宏”功能,然后根据单元格的值过滤数据,然后删除具有重复数据的行,但这不起作用。之后我运行宏时,它只是根据我在录制宏时选择的单元格的值进行过滤。
问题
第1部分:
如何在 Excel 中创建一个宏来过滤我的表格,使其仅显示所有三列(北距、东距、高程)与另一行的北距、东距和高程相同的行?
第2部分:
那么,如何使相同的宏保留数据的第一个实例,但删除包含重复的北距、东距和高程的所有行?同样,所有三个必须匹配第一个实例。如果只有一两列与第一个实例匹配,我希望它留下,因为它不是一个相同的点。
第 3 部分:
我需要宏来搜索我的整个表,并在北距、东距和高程数据与任何其他行中的这三个数据相同的每一行上执行此操作。在每种情况下,我都需要它保留与数据一起出现的第一行,但删除包含重复数据的行。
提前感谢您提供的任何帮助!我很想找到一个解决方案,让我能够快速处理我拥有的这 7000 行数据。
我希望下面的示例不会太长。我试图提供足够的数据来处理并有一个很好的样本。
观点 # | 北向 | 东升 | 海拔 | 描述 |
---|---|---|---|---|
1 | 486942.990 | 2727277.620 | 817.090 | 示例 1 |
2 | 487232.950 | 2727284.613 | 787.460 | 示例 2 |
3 | 486879.180 | 2727517.621 | 803.425 | _NoDuplicate |
4 | 487155.702 | 2727564.718 | 794.449 | _NoDuplicate |
5 | 486942.990 | 2727277.620 | 817.090 | 示例 1 |
6 | 486942.990 | 2727277.620 | 817.090 | 示例 1 |
7 | 487222.142 | 2728277.351 | 789.665 | _NoDuplicate |
8 | 486471.604 | 2726417.279 | 780.678 | _NoDuplicate |
9 | 486522.528 | 2726483.133 | 785.644 | 示例 3 |
10 | 487265.671 | 2726869.400 | 780.803 | _NoDuplicate |
11 | 487232.950 | 2727284.613 | 787.460 | 示例 2 |
12 | 486942.990 | 2727277.620 | 817.090 | 示例 1 |
13 | 487232.950 | 2727284.613 | 787.460 | 示例 2 |
14 | 487232.950 | 2727284.613 | 787.460 | 示例 2 |
15 | 486942.987 | 2727277.621 | 817.092 | _NoDuplicate |
16 | 486942.990 | 2727277.620 | 817.090 | 示例 1 |
17 | 486916.976 | 2727960.190 | 792.667 | _NoDuplicate |
18 | 487136.935 | 2727629.030 | 788.643 | _NoDuplicate |
19 | 486522.528 | 2726483.133 | 785.644 | 示例 3 |
20 | 486522.528 | 2726483.133 | 785.644 | 示例 3 |
请看一下上面的示例。希望它将帮助一切变得有意义并有助于解决方案。(我已将其减少到只有 20 行数据,但我正在处理的文件大约有 7000 行。这就是为什么我试图找到一种比手动搜索所有重复项更有效的方法。)
背景故事(如果感兴趣/有用)
我是一家土地测量公司的 CAD 绘图员。我目前正在起草一份多个现场工作人员必须在不同时间进行的工作,这意味着他们必须将前一个工作人员的现场数据导入他们的 GPS 设备,以确保他们收集的数据与以前的工作人员不同。但是,他们在导入/导出过程中犯了一些错误,现在我有数千个具有相同北距、东距、高程和点描述但点编号不同的现场定位。 如果您查看我链接的小示例 Excel 文件,这将更有意义。
经过几天手动搜索数百行(大约 7000 行)以查找重复点并删除除第一个之外的所有实例后,我开始怀疑是否有更简单的方法。这就是把我带到这里的原因。
你不能只使用 `RemoveDuplicates 方法吗?
请注意,在您的示例工作簿中,您的数据位于名为的表中。如果适合您的实际数据,您可能需要编辑代码以进行更改。
Table1
Sheet1
样本数据的输出