Aya*_*nia 3 vba microsoft-excel
我想交叉连接一个工作表中的两列,并使用 VBA 将结果粘贴到另一个工作表中。

将 Sheet1 中的 A 列和 B 列交叉连接,并将结果粘贴到 Sheet2 中。
我找到了两个答案,但无法根据我的需要修改它们。
我的需要是,
编辑:添加要求
3。循环中将有多个源工作表,例如“Sheet1”。我不想在每张纸上创建表格。
使用电源查询非常简单。只需添加一列,其中包含值列中所有非空条目的 列表;然后扩展到新行。最后排序回所需的顺序。
阅读评论并探索Applied Steps以理解算法
let
//change next line to reflect actual data source
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
//set data types to text
#"Changed Type" = Table.TransformColumnTypes(Source,{{"name", type text}, {"value", type text}}),
//add index column so as to be able to sort back to desired output
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1, Int64.Type),
//Add a column containing a List of all non-null Values
#"Added Custom" = Table.AddColumn(#"Added Index", "values", each List.RemoveNulls(#"Added Index"[value])),
//remove now unneeded value column
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"value"}),
//expand the List to new rows
#"Expanded values" = Table.ExpandListColumn(#"Removed Columns", "values"),
//Sort back to original order
#"Sorted Rows" = Table.Sort(#"Expanded values",{{"values", Order.Ascending}, {"Index", Order.Ascending}}),
#"Removed Index" = Table.RemoveColumns(#"Sorted Rows",{"Index"}),
#"Type Values" = Table.TransformColumnTypes(#"Removed Index",{{"values", type text}})
in
#"Type Values"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
343 次 |
| 最近记录: |