Vba 比较X和Y在两列中的图形点

Vba 比较X和Y在两列中的图形点,vba,excel,Vba,Excel,我有一个巨大的数据集,里面有x和y坐标。我想看看两个事件是否彼此接近,如果是这样,突出显示这些事件或将它们拉出并放在单独的工作表中 X坐标位于第V列 Y坐标在W列中 我正在寻找彼此之间在给定距离内的点。我想突出显示它们或将它们放在新的工作表中 一个问题是如何报告这一情况。我可能有两个彼此接近的点,而这两个点彼此也很接近 我的目标是列出数千个事件的列表,并在地图上找出彼此接近的事件,而不必实际搜索所有事件。我的数据集在不断增长,因此从长远来看,这将大大节省时间。我不确定您是否只想比较x坐标。你可以

我有一个巨大的数据集,里面有x和y坐标。我想看看两个事件是否彼此接近,如果是这样,突出显示这些事件或将它们拉出并放在单独的工作表中

X坐标位于第V列
Y坐标在W列中

我正在寻找彼此之间在给定距离内的点。我想突出显示它们或将它们放在新的工作表中

一个问题是如何报告这一情况。我可能有两个彼此接近的点,而这两个点彼此也很接近


我的目标是列出数千个事件的列表,并在地图上找出彼此接近的事件,而不必实际搜索所有事件。我的数据集在不断增长,因此从长远来看,这将大大节省时间。

我不确定您是否只想比较x坐标。你可以发现两个x坐标很近,但y坐标相距很远。不确定这是否是你想要的,只是在某个方面接近的东西。如果这是您想要的,只需循环行之间的相减即可。如果要查找两个地理点之间的距离,请参见下文

你可以用毕达哥拉斯定理得到两点之间的距离

Dim OrigPoint As Double
Dim CheckPoint As Double
Dim Distance As Double

OrigPoint = point1X - point2X
CheckPoint = point1Y - point2Y

Distance = Sqr((OrigPoint * OrigPoint) + (CheckPoint * CheckPoint))

If Distance < 300 Then
    'Copy or highlight your data
End If

这个网站不是为了让人们简单地要求为他们编写预先打包的代码。你自己试过了吗?如果您可以简单地突出显示有问题的行,您是否考虑过只使用条件格式?我甚至不知道如何开始这个问题。我在谷歌上做了很多搜索,但我以前没有发现任何人有这样的问题。如果您有一个链接,指向与我要查找的内容类似的内容,其中条目将在某个阈值内与其他条目进行比较,我很乐意从这里开始,稍后再返回更具体的查询。您是要相互比较点还是只比较纬度?点。我只是认为最简单的方法是将所有的x坐标相互比较,将具有相似x坐标的事件从该组中取出,将所有的y坐标相互比较,然后将符合这两个条件的所有事件复制到一个新表中。我认为这很复杂,但我没有找到更好的方法。这会比较列中的所有坐标吗?换句话说,我并不是选择要比较所有条目的坐标,我想看看每个坐标在各自的两列中是否与任何其他坐标相邻。我怎样才能让它把这些条目转移到一个新的工作表中呢?不,你必须写一个循环遍历每一行。然后将这些值加载到OrigPoint和CheckPoint中。要传输数据,您必须在一个工作表到下一个工作表的范围内进行复制粘贴或类似操作。下面是一些循环行的示例。下面是如何复制数据。非常感谢你的建议。我是VBA的初学者,我需要所有能得到的帮助。:)
OrigPoint = ActiveWorkbook.Sheets("Sheet1").Range("V" & lrow).Value - ActiveWorkbook.Sheets("Sheet1").Range("V" & lrow + 1).Value

CheckPoint = ActiveWorkbook.Sheets("Sheet1").Range("W" & lrow).Value - ActiveWorkbook.Sheets("Sheet1").Range("W" & lrow + 1).Value