【发布时间】:2020-10-11 17:45:41
【问题描述】:
我有两个包含指定命名点的笛卡尔坐标的表格。
Table1 有类似PX_<number> 或P_<number> 的点。表 2 有只有数字的点。点的顺序可能是随机的,可能会出现表1或表2中缺少一个或多个点的情况。
我想通过将这两个表合并到第三个表中来比较这两个表,该表将包含配对点和每个坐标的计算(绝对)距离。
它还应该对某些单元格中的差异大于用户期望的单元格进行着色(例如 0,1)。示例:
我想通过 Power Query 来完成,但每次点发生变化时我都需要选择表(它们将从外部源粘贴)。所以我决定通过 VBA 宏来实现,同时通过条件格式为单元格着色。
我对两个表的匹配点有疑问。因此,我决定使用 VBA 中的以下脚本从点中删除不必要的前缀(PX_ 或 P_),这可能有助于对它们进行排序和配对。但是,考虑到 Table1 或 Table2 中可能缺少点,我该如何分别配对和列出它们?
Private Sub Filter_points_Click()
Dim searchRow As Range
Dim lastRow As Long
Dim allPoints As Range
' Find lastRow in column B
Set searchRow = Range("B3:B" & Cells(Rows.Count, "B").End(xlUp).Row)
lastRow = searchRow.Find("*", , xlValues, , xlByRows, xlPrevious).Row
' Set Range of existing points
Set allPoints = Range("B3:B" & lastRow)
' Replace P_ & PX_
allPoints.Replace What:="P_", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchFormat:=False, ReplaceFormat:=False
allPoints.Replace What:="PX_", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchFormat:=False, ReplaceFormat:=False
End Sub
提前谢谢你。
【问题讨论】: