Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: cxh5237@163.com

[已解决]请高手帮我调试一下我这个程序,出现“更新值”,无法获取我想要的数据

[复制链接]
发表于 2011-8-11 19:39 | 显示全部楼层
回复 cxh5237@163.com 的帖子

Range("i" & N) = "=vlookup(""a""&n,[2011年生产进度表明细]生产进度表5、6、7月份!$1:$65536,23,0)"

$1:$65536 代表的是 第一行到第65536行,然后你要返回第23行的值,所以你的结果不对

     Range("h" & N) = "=vlookup(" & "a" & N & ",[2011年生产进度表明细]生产进度表5、6、7月份!$A:$Y,22,0)"
     Range("i" & N) = "=vlookup(" & "a" & N & ",[2011年生产进度表明细]生产进度表5、6、7月份!$A:$Y,23,0)"

这样就行了 要注意VBA用在函数公式中的时候,变量和常量是要用 & “” & 分开的 不然写进单元格的时候,变量就成了字母了

即然你都打开对方的表了,为啥还要用公式呢??直接把他表里的值读进来不是更好??
回复

使用道具 举报

发表于 2011-8-11 19:50 | 显示全部楼层
本帖最后由 无聊的疯子 于 2011-8-11 19:50 编辑

回复 cxh5237@163.com 的帖子

用下面的代码来替换你的函数公式

  1.         Workbooks.Open ThisWorkbook.Path & "\副本2011生产进度明细表.xls", 0, Password:="333333"
  2.         arr = Range("A5:W" & Range("A65536").End(xlUp).Row)
  3.         ActiveWorkbook.Close False
  4.         Workbooks("07-20.xls").Activate
  5.       With Sheets("汇总表")
  6.         row2 = Range("a65536").End(xlUp).Row
  7.         ReDim arr1(row2, 1)
  8.         For N = 2 To row2
  9.             arr1(N - 2, 0) = Application.VLookup(.Cells(N, 1), arr, 22)
  10.             arr1(N - 2, 1) = Application.VLookup(.Cells(N, 1), arr, 23)
  11.         Next
  12.         .Range("I2").Resize(UBound(arr1), 2) = arr1
  13.     End With
复制代码

回复

使用道具 举报

 楼主| 发表于 2011-8-11 20:16 | 显示全部楼层
回复 无聊的疯子 的帖子

先谢谢的!
1、你的数组调试是可以,但全部找出来的是“#N/A",是不是类型不匹配呀!!
2、用你的前一个答案,还是跟我一样出现“更新期”。
我还是用你数组再调试一下
回复

使用道具 举报

发表于 2011-8-11 20:24 | 显示全部楼层    本楼为最佳答案   
回复 cxh5237@163.com 的帖子

代码在你的  cxh1 程序里面

07-20.zip (155.3 KB, 下载次数: 13)
回复

使用道具 举报

发表于 2011-8-11 20:24 | 显示全部楼层
用公式肯定是要出现更新提示的!!
回复

使用道具 举报

 楼主| 发表于 2011-8-11 20:31 | 显示全部楼层
回复 无聊的疯子 的帖子

谢谢您,辛苦您了!!!以后还多多指教!!
回复

使用道具 举报

发表于 2011-8-11 20:32 | 显示全部楼层
回复 cxh5237@163.com 的帖子

下载校长的80集来看,认真看了你也会做这个!!
回复

使用道具 举报

 楼主| 发表于 2011-8-11 20:44 | 显示全部楼层
我的金币全部花在上面了。另外我想为什么”ActiveWorkbook.Close False“是什么意思,为什么要放在这里,为什么不放在程序即将要结束的时候!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-23 19:56 , Processed in 0.115471 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表