Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3462|回复: 13

[已解决]我这段宏代码怎么更改 可以只出现一次选择文件啊

[复制链接]
发表于 2012-2-17 10:39 | 显示全部楼层 |阅读模式
  • Sub Macro1()
  • '
  • ' Macro1 Macro
  • ' 宏由 Lenovo User 录制,时间: 2012-2-17
  • '
  • '
  •     Range("B3").Select
  •     ActiveCell.FormulaR1C1 = _
  •         "=IF(ISERROR(VLOOKUP(RC[-1],[选择文件]随机编号!R2C1:R100C5,2,FALSE)),"""",VLOOKUP(RC[-1],[选择文件]随机编号!R2C1:R100C5,2,TRUE))"
  •     Range("C3").Select
  •     ActiveCell.FormulaR1C1 = _
  •         "=IF(ISERROR(VLOOKUP(RC[-2],[选择文件]随机编号!R2C1:R100C5,3,FALSE)),"""",VLOOKUP(RC[-2],[选择文件]随机编号!R2C1:R100C5,3,TRUE))"
  •     Range("D3").Select
  •     ActiveCell.FormulaR1C1 = _
  •         "=IF(ISERROR(VLOOKUP(RC[-3],[选择文件]随机编号!R2C1:R100C5,5,FALSE)),"""",VLOOKUP(RC[-3],[选择文件]随机编号!R2C1:R100C5,5,TRUE))"
  •     Range("B3:D3").Select
  •     Selection.AutoFill Destination:=Range("B3:D100"), Type:=xlFillDefault
  •     Range("B3:D100").Select
  •     ActiveWindow.SmallScroll Down:=-123
  •     Range("I2").Select
  • End Sub



只要一运行宏  就让我选择文件 需要选择四次 怎么更改 能只需要选择一次啊

谢谢大家!


最佳答案
2012-2-21 21:02
wg68241064 发表于 2012-2-21 01:33
原数据的那个表 只是例子 显示情况下 可能读取的表 不一定是什么名字

好吧,按你的要求:

(, 下载次数: 8)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-2-17 11:06 | 显示全部楼层
把第一次选择的文件名赋给一个变量,以后的几个文件名,直接用这个变量代替!
回复

使用道具 举报

 楼主| 发表于 2012-2-17 11:07 | 显示全部楼层
hrpotter 发表于 2012-2-17 11:06
把第一次选择的文件名赋给一个变量,以后的几个文件名,直接用这个变量代替!

您好 我是新手 请详细说 最好把代码给我  谢谢
回复

使用道具 举报

发表于 2012-2-17 11:15 | 显示全部楼层
wg68241064 发表于 2012-2-17 11:07
您好 我是新手 请详细说 最好把代码给我  谢谢

代码给你,先要把你的文件上传呀,才能调试!
回复

使用道具 举报

发表于 2012-2-17 17:38 | 显示全部楼层
  1. Sub Macro1()
  2. Range("B3").Select
  3. ActiveCell.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-1],[选择文件]随机编号!R2C1:R100C5,2,FALSE)),"""",VLOOKUP(RC[-1],[选择文件]随机编号!R2C1:R100C5,2,TRUE))"
  4. Range("B3:D3").Select
  5. Selection.AutoFill Destination:=Range("B3:D100"), Type:=xlFillDefault
  6. Range("B3:D100").Select
  7. ActiveWindow.SmallScroll Down:=-123
  8. Range("I2").Select
  9. End Sub



复制代码

回复

使用道具 举报

 楼主| 发表于 2012-2-18 15:06 | 显示全部楼层
happym8888 发表于 2012-2-17 17:38

你好  三列不是一样的
回复

使用道具 举报

 楼主| 发表于 2012-2-21 09:39 | 显示全部楼层
hrpotter 发表于 2012-2-17 11:15
代码给你,先要把你的文件上传呀,才能调试!

你好 这个是我的表格 怎么实现你说的那个啊!请指教

试验表格.rar

26.79 KB, 下载次数: 4

回复

使用道具 举报

 楼主| 发表于 2012-2-21 09:41 | 显示全部楼层
wg68241064 发表于 2012-2-18 15:06
你好  三列不是一样的

我的附件已经上传!用“试验1”这个电子表格从“原数据”这个表格提出数据!现在的宏运行速度很慢 还有改进的方法吗?

试验表格.rar

26.79 KB, 下载次数: 2

回复

使用道具 举报

发表于 2012-2-21 11:10 | 显示全部楼层
本帖最后由 adders 于 2012-2-20 22:27 编辑
wg68241064 发表于 2012-2-20 20:41
我的附件已经上传!用“试验1”这个电子表格从“原数据”这个表格提出数据!现在的宏运行速度很慢 还有改 ...


简单来说,如果你还想保留Vlookup到"原数据"文件的公式,可以先打开"原数据"再关上,这样Vlookup速度会快些

稍稍改进代码如下:
试验表格.rar (30.89 KB, 下载次数: 11)
回复

使用道具 举报

 楼主| 发表于 2012-2-21 14:33 | 显示全部楼层
adders 发表于 2012-2-21 11:10
简单来说,如果你还想保留Vlookup到"原数据"文件的公式,可以先打开"原数据"再关上,这样Vlookup速度会快些 ...

原数据的那个表 只是例子 显示情况下 可能读取的表 不一定是什么名字
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 15:06 , Processed in 0.330685 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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