尝试创建vba脚本 -
链接到工作簿here
我在B列中有一个关键字列表,每个关键字对应于A列中的组:
如何使用VBA代码将每个关键字列表分组到相应的群组工作表中?
团体"不锈钢"和"玻璃分配器":
"不锈钢" :
集团" 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 = _
答案 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键。