如何用vba将一个excel文件中一列中所有的项导入另一个excel文件中

我有名为A和B的两个excel文档在A中的A列,有16000个数据。我希望通过B文件的vba编程将A文件中A列的所有数据,录入到B文件的A列中。需要注意的地方:1.A文件... 我有名为A和B的两个excel文档

在A中的A列,有16000个数据。我希望通过B文件的vba编程将A文件中A列的所有数据,录入到B文件的A列中。

需要注意的地方:
1.A文件会每周更新,且A文件A列里的数据量是在不断变化的。不是固定的16000。我需要它有多少,就复制多少到B文件的A列中。
2.我希望B文件提取A文件数据并录入到B文件A列表这个程序过程是可以控制的,就好比是一个方块添加了一个宏。我点一下,它才运行一样。

我曾经尝试过用index函数来提取一列,但是这样不能提取有限的16000的条目,而是一整列上百!万个条目,为B文件后续的函数计算大大的增加了运算量,降低了运算效率。所以我希望是提取有限的全部的项,而不是一整列。
谢谢!!
我不怎么会vba,麻烦告诉我操作步奏,满意追赏
展开
 我来答
tlxwd
2016-07-12 · TA获得超过1148个赞
知道大有可为答主
回答量:1592
采纳率:66%
帮助的人:691万
展开全部
Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Dim wk1 As Workbook, sh1 As Worksheet, wk2 As Workbook, sh2 As Worksheet
    Filename = Application.GetOpenFilename(fileFilter:="Excel File (*.xlsx), *.xlsx,Excel File(*.xls), *.xls", FilterIndex:=2, Title:="请选择文件")
    If Filename = False Then
    Else
        Workbooks.Open (Filename)
        Set wk1 = ThisWorkbook
        Set sh1 = wk1.ActiveSheet
        Set wk2 = ActiveWorkbook
        Set sh2 = ActiveSheet
        sh2.[a:a].Copy sh1.[a:a]
        wk2.Close savechanges:=False
        MsgBox "数据导入成功!"
    End If
End Sub


更多追问追答
追问
这个方法解决了我所提出的问题,但还是没能解决我的最终目的,故追问一下。
我的根本的问题,是希望一个公式应用到一列中有值的最后一项。通常通过拖动单元格右下角的“+”符号,或者双击这个符号让公式适用于一整列来实现。
然而当我一列有几万项时,拖动“+”就不方便,而且当公式复杂,将此公式适用于一整列会大大增加计算量。
所以再问下,将某个公式适用于某一列的最后一个有值单元格,并且就此终止该怎样实现。
追答
如果数据量大,又要从其它工作薄中获取数据,那么,使用公式是不可取的。因为会拖慢系统的运行。甚至根本无法正常工作。
不明白你的意思,你的意思是想在原来的数据下面追加数据吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式