-2

所以这就是我想在 VBA 中做的事情:在 E10 中找到值,复制它所在的行,将该行粘贴到其他地方(只要我能找到它就没有关系),然后找到具有该值的下一行E10 并做同样的事情等,直到我到达电子表格的末尾

一般来说,我对 VBA 和宏真的很陌生,所以任何帮助都将不胜感激!

4

1 回答 1

0

一般来说,您会发现在这些部分中,不解释“您尝试过什么”就提出问题往往会令人不悦。

我建议你看看我今天早些时候回答的这个有点相似的问题:

通过电子邮件搜索将 Excel 2003 中的数据行复制并粘贴到不同的工作表

这与您的需求之间的主要区别是:

  • 代替 InputBox,您将使用 E10 中的值来运行 .Find 方法;和
  • 您需要创建一个循环。您仍然运行 .Find 方法,如我的示例中所示,但您在循环中执行此操作,直到您遍历工作表中 E10 中值的每个实例。(获取您找到的第一个范围的地址,并继续运行 .Find 方法,直到您返回该地址。)查找 VBA 帮助中的 While 语句和 For 语句以获取有关如何创建循环的示例。

要获取单个单元格的值,一种方法是创建对单元格范围的引用,然后查询 .Value 属性。例如,完全限定的参考可以是:

Thisworkbook.Worksheets("Sheet1").Range("E10").value

还有其他语法会产生相同的结果,但您可以及时了解这些语法。使用宏记录器记录您的操作是了解属性和方法的好方法。问题是,在我讨厌的 Excel 2010 界面的另一部分,微软决定隐藏这个东西。要进入宏编辑器,请转到文件 -> 选项 -> 自定义功能区并打开开发人员选项卡。

尝试所有这些,如果您遇到特定问题,请再次发布详细信息。

于 2012-11-23T07:06:41.947 回答