根据A列中的重叠内容,从一张纸到另一张是否有条件地复制/粘贴单元格?

时间:2013-08-01 04:15:26

标签: excel vba excel-vba excel-vba-mac

Excel 2011,Mac。

两张,两张名字都以“last,first”的名字在A中降序。 工作表1的名称列表比工作表2上的名称列表短得多。 第2页在第1行中有标题,但这12列中的其余单元格都留空了。

我需要从表单1中的名称中获取12列数据到表2的右行。

我绑定使用数据透视表,但是数据透视表带来了0和1而不是sheet1中的实际数据,尽管它确实带来了标题。我使用该轴(复制/粘贴)来创建我正在使用此任务复制的普通工作表。

我试图想出一种方法来编写这个有意义的方法,但是因为我无法弄清楚如何解决它而不会让它变得过于复杂。

我可以在匹配名称之间添加行,直到A匹配A,然后立即复制并粘贴整个单元格块。 我可以在Sheet2中找到匹配并将数据复制到Sheet2中。 我可以建立一个列表(数组?)然后通过复制每个匹配的东西... 啊。我只是知道这些是很奇怪的想法,但显然我在搜索中找不到更好的东西 - 或者至少我的搜索条件在搜索它们时毫无用处。

所以我不是要求所有代码,但我要求两件事:

1)有效地对两个工作表中的名称进行比较的代码'A列。

2)关于逻辑运算过程的建议最快代码(对我而言,最不好意思,就是这样)。

例如:

Underscore indicates empty cell.

Sheet 1          Sheet 2

   A   B   C...        A  B  C  D...
1  A  22  11       1   A  _  _  547
2  C  32  21       2   B  _  _  678
3  F  56  89       3   C  _  _  34
4  H  65  90       4   D  _  _  67899
.                  5   E  _  _  875
.                  6   F  _  _  875
.                  7   G  _  _  875
                   8   H  _  _  875

Resulting Sheet 2

   A   B   C   D...
1  A  22  11  547
2  B  _   _   678
3  C  32  21  34
4  D  _   _   67899
5  E  _   _   875
6  F  56  89  875   
7  G  _   _   875
8  H  65  90  875
.
.
.

所以,您的想法将不胜感激,欢迎您的代码!

1 个答案:

答案 0 :(得分:0)

你可能会考虑让你的代码将一个vlookup公式添加到Sheet2 B1和C1,然后将公式复制下来(如果你有很多行,计算时间是相当可观的)。然后在Sheet2 B和C中复制/粘贴特殊值以删除公式。

或者,您可以遍历Sheet2列A中的所有值,并在Sheet1中查找匹配项。

如果您需要一些示例代码,请告诉我。