【发布时间】:2013-08-17 02:09:41
【问题描述】:
我尝试在网站上搜索此问题的解决方案,但找不到完全匹配的内容。我正在尝试找出一个 VBA 代码来执行以下操作:
- 搜索指定列
- 找到所有匹配值(未指定)
- 复制所述匹配值的行
- 将它们放入新的工作表或工作簿(最好是工作簿)
这是我的问题。指定行中的值可以是 300 多个唯一值中的 1 个,因此在 VBA 代码中指定每个值将是一场噩梦。
我知道按字母顺序过滤指定的列会起作用,但是我如何告诉宏在每个组的末尾停止并将其复制到新工作表?基本上我会如何说“如果下一个值与当前值不匹配,则开始一本新书”? (即:向下搜索C列并复制所有包含“Bat”的行,然后复制到新书,然后向下搜索C列并复制所有包含“Car”的行,然后复制到新书)
任何帮助将不胜感激!
【问题讨论】:
-
您可以将要查找的值放在不同的工作表上(如果愿意,可以将其隐藏),然后对于该列表中的每个值,在指定列上执行 Find 循环以收集所有匹配项并将它们复制到新工作表,然后在工作表上执行 .Move(将其移动到自己的工作簿,这将成为活动工作簿),然后保存并关闭活动工作簿并继续下一个值在您的列表中。
-
我会试一试,然后回来。感谢您的建议!
标签: vba excel copy-paste worksheet-function