在vba中两次筛选和查找唯一值的最佳方法?
我想找到一种方法来找到第1列的唯一值,并找到第2列中与第1列中每个项目对应的唯一项目,这样我就可以将“更高级别”的内容映射到“更低级别”的内容 例如,excel工作表如下所示在vba中两次筛选和查找唯一值的最佳方法?,vba,excel,Vba,Excel,我想找到一种方法来找到第1列的唯一值,并找到第2列中与第1列中每个项目对应的唯一项目,这样我就可以将“更高级别”的内容映射到“更低级别”的内容 例如,excel工作表如下所示 Column 1 Column 2 Column 3 New York Brooklyn ....more information about col 2 New York Manhattan New York Sta
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在excel工作表中搜索,直到找到纽约,然后用纽约查看列旁边的单元格)
做这件事的最佳方式是什么?我将如何做?字典、集合、for循环、自动筛选 根据我的经验,如果你有很多数据,使用字典可能会更快。然而,在字典中,每个记录必须有唯一的ID+您必须以某种方式处理数据 但也可以对每个循环使用。 我假设你会通过所有的细胞,例如。G在A列中,您正在查找特定的记录,例如。G“newyork”如果找到它,则将行数保存到长变量“start”中,然后继续循环,直到单元格值为“newyork”。如果达到这一点,“结束行”的值应该是循环步骤-1。然后可以继续执行下一个循环,该循环将从B列(或下一列)向列表框添加元素 我在“商业”电子表格中看到的解决方案是在用户表单中有文本框(输入)和列表框。当您在输入(文本框)中键入内容时,在每个字母后,宏都会触发,并在隐藏(vba隐藏)选项卡中进行自动筛选。然后,它在xlCellTypeVisible设置的范围内对此选项卡中的每个循环进行一次遍历,并将数据添加到列表框中
总而言之,这取决于数据量,您必须自己尝试哪种解决方案最适合您。我认为您正在尝试