(VBA)如何将列单元格分配给相应的组,并将组单元格粘贴到组图纸中?

时间:2016-02-03 18:55:47

标签: excel vba excel-vba

尝试创建vba脚本 -

链接到工作簿here

我在B列中有一个关键字列表,每个关键字对应于A列中的

input_data

如何使用VBA代码将每个关键字列表分组到相应的群组工作表中?

团体"不锈钢"和"玻璃分配器":

"不锈钢" stainless steel

集团" Glass Dispenser" glass dispenser

任何帮助将不胜感激!



修改
尝试基于@BruceWayne公式创建宏。

获取该行的错误:

QStringList systemEnvironment = QProcess::systemEnvironment();


注意:还尝试使用Selection.FormulaArray = _ "=IFERROR(INDEX('Script to organize Group'!R2C[1]:R469C[1],SMALL(IF('Script to organize Group'!R2C:R469C=MID(CELL(""filename"",R[-1]C),FIND(""]"",CELL(""filename"",R[-1]C))+1,255),ROW('Script to organize Group'!R2C:R469C)-ROW('Script to organize Group'!R2C)+1),ROWS('Script to organize Group'!R2C[1]:RC[1]))),"""")" 代替Range("A2").FormulaArray = _,但仍然遇到相同的错误。

我尝试使用以下公式的VBA代码:

Selection.FormulaArray = _

1 个答案:

答案 0 :(得分:1)

在以组命名的每个工作表中,将其放在A2中:

=IFERROR(INDEX(Sheet1!B$2:B$7,SMALL(IF(Sheet1!A$2:A$7=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),ROW(Sheet1!A$2:A$7)-ROW(Sheet1!A$2)+1),ROWS(Sheet1!B$2:B2))),"")

这假设您已将文件保存在某处。将其作为数组输入(使用 CTRL + SHIFT + ENTER )并向下拖动。你必须调整当然的范围。但是,当您添加组/关键字时,列表将自动更新。此外,返回说货币或平均。月份,只需将第一个索引范围从B$2:B$7更改为任何新范围,即C$2:C$7

编辑:更改" Sheet1"包含所有数据的主表: =IFERROR(INDEX('Script to organize Group'!B$2:B$469,SMALL(IF('Script to organize Group'!A$2:A$469=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),ROW('Script to organize Group'!A$2:A$469)-ROW('Script to organize Group'!A$2)+1),ROWS('Script to organize Group'!B$2:B2))),"")再次,不要按ENTER键,按住CTRL + SHIFT键,然后按ENTER键。

enter image description here