我希望找到一种方法来查找第1列的唯一值,并找到第2列中与第1列中每个项目对应的唯一项目,这样我就可以将“更高级别”的内容映射到“更低级别”东西。
例如,excel表格看起来像这样
Column 1 Column 2 Column 3
New York Brooklyn ....more information about col 2
New York Manhattan
New York Staten Island
New York Queens
New York Bronx
New Jersey Newark
New Jersey Jersey City
New Jersey Edison
CT Hartford
CT Windsor
当选择纽约时,我必须收集布鲁克林,曼哈顿,史坦顿岛,皇后区和布朗克斯。 (我正在制作一个列表框,以便在选择纽约时,上面的行政区显示在第二个列表框中,但是当用户指定州是纽约时,我无法弄清楚如何获取行政区信息。我需要一种方法擅长搜索excel表,直到它找到纽约,然后用纽约查看列旁边的单元格)
这样做的最佳方式是什么?我将如何实际做到这一点?字典,集合,for循环,autofilter?
答案 0 :(得分:0)
根据我的经验,如果您有大量数据,使用字典可能会更快。但是在字典中你必须为每条记录都有唯一的ID +你必须以某种方式处理数据。
但你也可以使用For Each循环。 我假设你会经历所有细胞,例如G。在A栏中。您正在寻找特定记录,例如: G。 "纽约"如果你找到它,那么你将行号保存到长变量" start"然后继续循环,直到单元格值<> "纽约"。如果达到这一点,"结束行"应该是循环步骤 - 1.然后你可以继续下一个循环,它将元素添加到列B(或下一列)的列表框中。
我在"商业"中看到的溶剂。电子表格是用户表单中的文本框(输入)和列表框。当您在输入(文本框)中键入内容时,然后在每个字母宏触发后,它会在隐藏(vba隐藏)选项卡中生成自动过滤器。然后在xlCellTypeVisible设置的范围内为此选项卡中的每个循环执行a并将数据添加到列表框。
总而言之,这取决于数据的数量,你必须尝试自己最适合你的解决方案。