excel - 在vba excel中自动连接
问题描述
我有一个在 excel 表中运行在哪些机器上的设备列表。
示例device A
运行于machine X
,B
运行于Y
,另一个device A
运行于machine Z
。但有时相同的设备在多台机器上运行。
是否可以连接以显示A device
正在运行machine X,Z
?
设备|机器
A|X
B|Y
A|Z
我试图在excel中连接。它可以工作,但列表每小时更新一次,所以我需要记录它的宏。我还得把vlookup
它放到另一张纸上。
我希望它看起来像这样:
设备 | 机器
A | X,Z
B | Y
解决方案
Sub MakeListCol()
Dim coll As New Collection
Dim c As Range
Dim sPair() As String
Dim sVal As String
Const cSep1 = "|"
Const cSep2 = ","
For Each c In Range("A:A") ' suppose the "A|X", "B|Y" pairs are in column A
If IsEmpty(c) Then Exit For ' finish
sPair = Split(c.Value, cSep1)
If UBound(sPair) > 0 Then
On Error Resume Next
sVal = coll(sPair(0))
If Err.Number = 0 Then
On Error GoTo 0
sVal = sVal & cSep2 & sPair(1)
coll.Remove (sPair(0))
Else
On Error GoTo 0
sVal = sPair(0) & cSep1 & sPair(1)
End If
coll.Add sVal, sPair(0)
End If
Next
' here you have a list of all device-machines assignements in coll
Dim i As Long
For i = 1 To coll.Count
Debug.Print coll.Item(i)
Next
End Sub
推荐阅读
- neo4j - 运行 Neo4j 时出错:无法将版本“v0.A.9”的商店升级到当前商店版本“v0.A.8”(Neo4j 3.3.1)
- webpack - 如何自定义 webpack 的 4 个默认输出块名?
- mysql - 如何在 postgresql 中将字符类型转换为整数?
- c# - 在 Unity 中生成“斜坡”对象的算法
- java - 无法通过任何对象定位器单击按钮?
- multithreading - 有类线程池
- java - Java 客户端中的 Soap 连接超时,但 SOAPUI 中没有
- java - 为什么是泛型类
类型参数未强制转换为 ParameterizedType - python - 从 crontab 运行 python 时出现意外行为
- c# - 在所有 Controller 方法上从 JWT 获取 userId?