excel引用另一个表格的数据
请较通过怎样的办法可以在一个工作表中,使用宏命令或者其他办法,引用那个文件的某几列,而且刷新时也能更新数据!
经过一上午的实验,我的这个方法可以实现,但是当数据比较多时,效率蛮低(注:我需要6列*6000行的数据)。
Sub getvalue()
Dim i As Integer, j As Integer, m As Integer, n As Integer
Application.ScreenUpdating = False
Workbooks.Open "d:\ascclass.csv", ReadOnly
m = ThisWorkbook.Sheets(1).Cells(1, 1).End(xlDown).Row
n = ActiveWorkbook.Sheets(1).Cells(1, 1).End(xlDown).Row
For i = m To n
For j = 1 To 5
ThisWorkbook.Sheets(1).Cells(i, j) = ActiveWorkbook.Sheets(1).Cells(i, j)
ThisWorkbook.Sheets(1).Cells(i, 6) = ActiveWorkbook.Sheets(1).Cells(i, 33)
Next j
Next i
ActiveWorkbook.Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub
'参数说明
'i:行号
'j:列号
'm:本地表格A1最后一行非空值的行号
'n:局域网表格ascclass.csv表格A1的最后一行非空值的行号,本地实验,文件放到了D盘
如果有什么办法能够直接引用行,估计效率会更高一些!
期待更好的答案! 展开
1、商品表1,看有商品代号
2、商品表2,看也商品代号
3、把商品表2中的其它两个分类"标题"栏目复制到商品表1中.
4、接着下面用公式引用.
在商品表1中选中单元格,再点击上面的fx,选择全部,找到vlookup.点确定
5、关于Vlookup函数内容解析:
Lookup_value“唯一值”为需要在数组第一列中查找作参考的关系数值,它可以是数值或文字符串。比如:举例中的商品代码列,一般是第一列的数值,作为唯一数据参考而用的。(本表格中)
Table_array“区域”:数值区域,如“A:D”,就是您所有想引用过来的数据(想要引用数据的表格)
Col_index_unm“列序号”:引用区域值里面的第一列,比如从A到D共有4列,我想引用B列数值过来,那么就选择2,因为B列在区域的第二列,其它也是这么推算
Range_lookup“逻辑值”:一般填TRUE或FALSE。指函数 VLOOKUP 返回时是精确匹配还还是近似匹配。 通常都是写false。
第一个单元格引用成功后,就往下拉(当单元格最右下角变实心,再往下拉,意思与上如同。)
6、另一列的品牌也是照着上面的方法,重复第4与第5步,也可以直接插入复制第前一列的粘贴操作.只是需要把那个第三个数值的,第二列2改成第三列3..完成再把公式拉下来.
7、展现的效果就是如图下,结合了两个表格的数据.
=VLOOKUP(Sheet1!A3,[XXXX.xls]Sheet1!A:A,1,FALSE)
#002 Dim Wb As Workbook
#003 Dim Temp As String
#004 Application.ScreenUpdating = False
#005 Temp = ThisWorkbook.Path & "\数据表.csv"
#006 Set Wb = GetObject(Temp)
#007 With Wb.Sheets(1).Range("A1").CurrentRegion
#008 Range("A1").Resize(.Rows.Count, .Columns.Count) = .Value
#009 Wb.Close False
#010 End With
#011 Set Wb = Nothing
#012 Application.ScreenUpdating = True
#013 End Sub