本页主题: Execl 宏问题:如何查找一个变量? 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

bbsriver
杀人游戏MVP勋章I 杀人游戏MVP勋章II
级别: 管理员


精华: 52
发帖: 17391
威望: 8729 点
金钱: 7064 静电币
支持度: 19801 点
在线时间:13725(小时)
注册时间:2002-11-21
最后登录:2016-12-22

 Execl 宏问题:如何查找一个变量?

Quote:
Cells.Find(What:="09107101131000006872", After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:= _
      xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False).


上面这段里头,现在我想把 What:="09107101131000006872" 指向一个具体的单元格,比如A2,每执行一次宏what就自动读取A2里面的值,然后执行 Find。这样每次我只要往A2里输一个新值就可以执行新的查找了。

如何写这个命令。

Quote:
Activate
  Range("F1533:J1533,L1533").Select


执行完查找之后,我想自动选定查找到的单元格同一行右侧的几个单元格,复制数据并粘贴到指定位置。也就是说,Range("F1533:J1533,L1533") 中的1533要成为一个根据查找到的单元格所在行而确定值的一个变量,又当如何写?

或者我的思路本根行不通?如果行不通有什么替代方案?

本人execl宏知识基本等于0起点,答复的大虾不要讲得太深,能让宏盲看懂最好。
Posted: 2006-03-24 10:52 | [楼 主]
bbsriver
杀人游戏MVP勋章I 杀人游戏MVP勋章II
级别: 管理员


精华: 52
发帖: 17391
威望: 8729 点
金钱: 7064 静电币
支持度: 19801 点
在线时间:13725(小时)
注册时间:2002-11-21
最后登录:2016-12-22

 

哈哈,最后写成了这么个东西,谢谢大头

写得可能比较弱,不过够用了

Copy code
  Cells.Find(What:=[E1674], After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:= _
      xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
  ActiveCell.Offset(0, 1).Select '
  Selection.Copy
  Range("F1674").Select
  ActiveSheet.Paste
 
  Cells.Find(What:=[E1674], After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:= _
      xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
  ActiveCell.Offset(0, 2).Select '
  Selection.Copy
  Range("G1674").Select
  ActiveSheet.Paste
 
  Cells.Find(What:=[E1674], After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:= _
      xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
  ActiveCell.Offset(0, 3).Select '
  Selection.Copy
  Range("H1674").Select
  ActiveSheet.Paste
 
  Cells.Find(What:=[E1674], After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:= _
      xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
  ActiveCell.Offset(0, 4).Select '
  Selection.Copy
  Range("I1674").Select
  ActiveSheet.Paste
 
  Cells.Find(What:=[E1674], After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:= _
      xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
  ActiveCell.Offset(0, 5).Select '
  Selection.Copy
  Range("J1674").Select
  ActiveSheet.Paste
 
  Cells.Find(What:=[E1674], After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:= _
      xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
  ActiveCell.Offset(0, 6).Select '
  Selection.Copy
  Range("K1674").Select
  ActiveSheet.Paste
Posted: 2006-03-24 13:39 | 1 楼
bbsriver
杀人游戏MVP勋章I 杀人游戏MVP勋章II
级别: 管理员


精华: 52
发帖: 17391
威望: 8729 点
金钱: 7064 静电币
支持度: 19801 点
在线时间:13725(小时)
注册时间:2002-11-21
最后登录:2016-12-22

 

另一个问题:
Quote:
OnEntry 当用户在工作表中输入值时触发。该过程一直要到用户按下回车键或者移动到另外一个单元格时才触发。


如果用这个命令来触发上面的宏,比如一旦修改A2单元格的值就自动触发上面的宏,那么 OnEntry 命令的语法是什么?

visual basic help 没看懂 :p
Posted: 2006-03-24 15:16 | 2 楼
bbsriver
杀人游戏MVP勋章I 杀人游戏MVP勋章II
级别: 管理员


精华: 52
发帖: 17391
威望: 8729 点
金钱: 7064 静电币
支持度: 19801 点
在线时间:13725(小时)
注册时间:2002-11-21
最后登录:2016-12-22

 

哈,谢谢。

昨天发这个帖子的时候是临时抱佛脚要解决一个很烦的海量数据核对的工作,所以只求速成。现在已经做完了。今天去买了本VBA的书来从abc看起。
Posted: 2006-03-25 20:59 | 3 楼
帖子浏览记录 版块浏览记录
狗狗静电BBS - wwW.DoGGiEhoMe.CoM » 电脑全方位 Computer Guide

沪ICP备05008186号
Powered by PHPWind Styled by MagiColor