为我的任务寻找起点。
情况:
我有三个具有相同结构的 Excel 工作表,其中包含以下列:
|ID|SubID|SubName|Description|Link1|Link2|
|1|1|SubName 1|Desc SubName1|P00001|P00002|
|1|2|SubName 2|Desc SubName2|P00002|P00003|
|2|1|SubName 1|Desc SubName1|P00001|P00002|
这里有一行在一个单元格内包含多个 P-Number:
|3|1|SubName 1|Desc SubName1|P00001,P00002,P00003|P00001,P00002|
我现在想查看 Link1 列,并将这些值与前三列按排序顺序放置到“Link1”工作表中,如下所示:
|P-Number|ID|SubID|SubName|
|P00001|1|1|SubName 1|
|P00001|2|1|SubName 1|
|P00001|3|1|SubName 1|
|P00002|1|2|SubName 2|
|P00002|3|1|SubName 1|
|P00003|3|1|SubName 1|
我想对 Link2 列做同样的事情,也将值放置到单独的工作表中。
下一步是将新工作表的 P 编号与一个类似于链接的字符串连接起来。这就是我迄今为止的工作。另一个想法是使 SubName 可单击并让它跳转到三个工作表之一中的相应名称。
我不确定宏是否是正确的选择,或者数据透视表也可以解决问题。
任何想法表示赞赏。谢谢。
更新:我试图将这个概念合并到我的主宏中,在那里我还处理上面提到的列。但是,由于我有几个循环贯穿这部分,因此输出行将被列的最后一个 P 编号覆盖。我使用这个子:
Sub PrintArray(Data As Variant, Cl As Range)
Cl.Resize(UBound(Data, 1), UBound(Data, 2)) = Data
End Sub
这要求测试:
PrintArray NewArray, ActiveWorkbook.Worksheets("Link 1").Range("A2")
如何在不必在代码中使用循环的情况下将每个 P 编号“保存”到新工作表中?