根据单元格值自动复制数据

时间:2014-08-31 15:28:17

标签: excel excel-vba vba

我有一张(PLOTS表),它包含大约150对不同的列,长度从10到112行不等。第1列包含对象,第2列距离。 在单独的表格(旅行表)上,我有一个公式,表明我需要将哪些列对复制并粘贴到旅行表中的特定位置。 这样做有自动方式吗? 请假设最少的知识。

距离表中的数据如下所示

1(成对列数)
Signal112 123
BridgeD12 135
Signal114 212
Repeater116 240(但更长,每对配对列的长度不同)

此数据必须放在旅行表中的某些列旁边,这些列显示行驶的距离和驾驶员采取的行动,以便可以看到所采取行动的位置。

1 个答案:

答案 0 :(得分:0)

我对列对编号,这样我就可以制作一个VLOOKUP表,其中第2列和第3列是所需数据所在的列。下面的示例:(4和8没有数据可用)

1 N O

2 K L

3 H I

4

5 Q R

6 W X

7 T U

8

9 AC AD

10 Z AA

因此,如果公式得出,我需要A216中的表10 = VLOOKUP(D1,D5:F156,2,FALSE),其中D1是公式输出所需的图号(在这种情况下为10),D5:F156是查找表所以2给了我所需的第一列(在这种情况下为Z)。在B216 = VLOOKUP(D1,D5:F156,3,FALSE)中,它给出了第二列(在这种情况下为AA)。 A217 = A216,向下复制到A412(我最长的一列是195行)。 B217 = B217,复制到B412。 C216 = 1,C217 = C216 + 1,向下复制到C412

然后我将这些结果用于INDIRECT对列,我将其向下复制到最长数据列的长度。 D216 = INDIRECT(A216& C216)E216 = INDIRECT(B216& C216),这两个都被复制到第412行。

然后我去了TRAVEL表,我需要数据并使用= PLOTS!D216和= PLOTS!E216在我需要的位置,然后再次复制到最长数据集的长度。

它有效,但如果有人能告诉我一种更有效的方式,我将不胜感激。