excel中怎样实现自动复制一列数据到另一个工作表?

sheet 1:
----------A----------B----------C---------D-----------E----------F-----------G----------H----------
1 1 2 3 4 5 6 7 8 ^ ^
2 234 567
3 136 908
4 512 680
sheet 2:
---------A-----------B--------
1 1
2 234
3 136
4 512
在SHEET1中有几十列数据我进行了编号:我想把SHEET1中的数据按要求复制到SHEET2中。如我在SHEET2中的A1输入1则自动复制SHEET1中的第1列数值。输入2就自动复制第2列数值。即输入几就自动复制SHEET1中的第几列到SHEET2中的A列。不要每个单元格都用公式。能不能实现?谢谢!
看来这个题超难,无人机.

在SHEET2的A2中输入或复制粘贴此公式
=HLOOKUP(A$1,SHEET1!$1:$999,ROW(A2),0)
下拉填充追问

这个公式我有.每个单元格都用了这样的公式后计算的速度就变得非常慢.而用纯数值就非常快.我想在SHEET2中的A列得到SHEET1中第几列的纯数值.能不能只在某个单元格中用公式,或用VBA.

追答

=INDEX(Sheet1!A1:$I$10,ROW(A2),Sheet2!A$1)

追问

试了一下好象不行啊.怎么用呢?

追答

在SHEET2的A1中输入或复制粘贴此公式几,就显示SHEET1中第几列的相应值。

追问

谢谢,你付出了辛勤劳动.还是每个单格都有有公式.

追答

请高手用VBA解决吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-11
在VBA中用如下代码
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Sheet1").Range("A1:B3").Copy Sheets("Sheet2").Range("A1")
End Sub
这句话就是当工作表Sheet1的单元格区域A1:B3的值变化时把内容复制到工作表Sheet2的单元格A1为左上角的区域。

不知道能不能满足你的要求追问

我试了一下不能运行,怎样操作?

追答

在Sheet1按下alt+F11 进入代码编辑页面 再按F7 然后将
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Sheet1").Range("A1:B3").Copy Sheets("Sheet2").Range("A1")
End Sub
复制到页面保存就可以了

追问

试了不反应.你做个简单的表先试一下吧.

追答

我就是试过才敢讲的额  附件的程序 你在A列输入任意值  看Sheet2有没有对应的值

追问

我看了一下,你做的表格是SHEET1中的数据全部同时出现在SHEET2中.我想要的结果是.在SHEET2中的A1中输入2就把SHEET1中的第2列数据复制到SHEET2的A列.其他的不出现.在SHEET2的A1中输入10就把SHEET1中的第10列复制到SHEET2的A列.(输入几就把SHEET1中的第几列数据复制到SHEET2的A列.不在其他的列).

追答

你看这样可不可以  我只写了A到G列  我在想想其他的

本回答被提问者和网友采纳
第2个回答  2013-12-11
sheet2的a2中输入公式
=INDIRECT("Sheet1!r" & ROW() & "c" &A1,FALSE)
往下拖拽。

如果不要每个单元格都用公式,恐怕需要用vba编程了
第3个回答  2013-12-11
发往[email protected]待我出差回来回答你
相似回答