将数组转换为列出并复制同一行上的行 VBA
Convert Array to list and copy rows that are on the same row VBA
我正在努力复制具有 2 种不同格式的数组:一种是水平的,另一种是对角线的。我想获取列 c-F 并将其转换为列表格式,对于它在 c-f 中找到的每个数字,我希望它复制 a-b 中的相应值。它还会复制 c-f 中的每个 header 值,并放置在新的 sheet 旁边 transposes/copies 这些值。
请看下面的照片:
这就是我的
您可以看到日期是水平的,但在第 8-11 行中,它们变成了垂直的。
我想转换此数据以复制并粘贴每个单元格值以及 a-b 中的相应记录。请查看我正在尝试创建的内容:
请注意 sheet 2 中的新列 headers 在 sheet 1 中不存在。
所有帮助将不胜感激。我不确定如何开始。我相信这些是步骤:
- 设置a-f作为范围在sheet1
- 将 a-b 从 sheet 1 复制并粘贴到 sheet 2 的第 3 行
- 复制第 3 行 c-f 之间每一行中的每个单元格,并为每个值重复 a-b
- 移到下一行
- 删除 sheet 2 中第 4 列中没有值的所有空白行。
谢谢。
Power Query
可从 Microsoft add-in 免费获得 Excel 2010。
您需要做的就是:
- 将光标放入table
- 输入电源查询UI
- 不确定 2010 年,但在 2016 年以后你会 select
Data --> Get&Transform-->From Table/Range
- 在 2010 年,您必须先下载并安装 add/in,然后按照 PQ
的说明进行操作
- 曾经在UI,只是
- Select
Color
和 Food
列
- Select 到
Unpivot Other Columns
- 重命名
Attribute
列 --> Date
- 关闭并加载
M代码 由以上过程生成
let
//Change table name to reflect your reality
Source = Excel.CurrentWorkbook(){[Name="Table18"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Color", type text}, {"Food", type text}, {"1-Jan", Int64.Type}, {"1-Feb", Int64.Type}, {"1-Mar", Int64.Type}, {"1-Apr", Int64.Type}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Color", "Food"}, "Attribute", "Value"),
#"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "Date"}})
in
#"Renamed Columns"
我正在努力复制具有 2 种不同格式的数组:一种是水平的,另一种是对角线的。我想获取列 c-F 并将其转换为列表格式,对于它在 c-f 中找到的每个数字,我希望它复制 a-b 中的相应值。它还会复制 c-f 中的每个 header 值,并放置在新的 sheet 旁边 transposes/copies 这些值。
请看下面的照片:
这就是我的
您可以看到日期是水平的,但在第 8-11 行中,它们变成了垂直的。
我想转换此数据以复制并粘贴每个单元格值以及 a-b 中的相应记录。请查看我正在尝试创建的内容:
请注意 sheet 2 中的新列 headers 在 sheet 1 中不存在。
所有帮助将不胜感激。我不确定如何开始。我相信这些是步骤:
- 设置a-f作为范围在sheet1
- 将 a-b 从 sheet 1 复制并粘贴到 sheet 2 的第 3 行
- 复制第 3 行 c-f 之间每一行中的每个单元格,并为每个值重复 a-b
- 移到下一行
- 删除 sheet 2 中第 4 列中没有值的所有空白行。
谢谢。
Power Query
可从 Microsoft add-in 免费获得 Excel 2010。
您需要做的就是:
- 将光标放入table
- 输入电源查询UI
- 不确定 2010 年,但在 2016 年以后你会 select
Data --> Get&Transform-->From Table/Range
- 在 2010 年,您必须先下载并安装 add/in,然后按照 PQ 的说明进行操作
- 不确定 2010 年,但在 2016 年以后你会 select
- 曾经在UI,只是
- Select
Color
和Food
列 - Select 到
Unpivot Other Columns
- 重命名
Attribute
列 -->Date
- 关闭并加载
- Select
M代码 由以上过程生成
let
//Change table name to reflect your reality
Source = Excel.CurrentWorkbook(){[Name="Table18"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Color", type text}, {"Food", type text}, {"1-Jan", Int64.Type}, {"1-Feb", Int64.Type}, {"1-Mar", Int64.Type}, {"1-Apr", Int64.Type}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Color", "Food"}, "Attribute", "Value"),
#"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "Date"}})
in
#"Renamed Columns"