Excel精英培训网

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

[已解决]在某区域内,用vba根据条件批量复制数值

[复制链接]
发表于 2013-3-3 10:19 | 显示全部楼层 |阅读模式
首先感谢各位论坛老师和论坛前辈帮助我解决了不少的问题。
我是vba刚入门者,只能是在实践中,遇到一个问题,向各位请教一个。
今请教一个问题是:在某区域内,用vba根据条件批量复制数值(不复制格式和公式)。如图:
00.jpg


条件:在I3:R3中,如果同列的行3的数值大于同列行2的数值,就复制这个数值到同列的行2中,否则,不复制。
例如:I3小于I2,不复制;J3等于J2,不复制;K3大于K2,复制K3的数值到K2;H3虽然大于H2,但不在上述的区域内,所以不操作。
批量复制后如图:

11.jpg

Book1.rar (4.73 KB, 下载次数: 10)
发表于 2013-3-3 19:42 | 显示全部楼层    本楼为最佳答案   
  1. Sub lqxs()
  2. Dim Arr, i&, Myc%
  3. Sheet1.Activate
  4. Myc = [iv4].End(xlToLeft).Column
  5. Arr = Cells(2, 9).Resize(2, 10)
  6. For j = 1 To UBound(Arr, 2)
  7.     If Arr(3, j) > Arr(1, j) Then Arr(1, j) = Arr(3, j)
  8. Next
  9. Cells(2, 9).Resize(2, 10) = Arr
  10. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-3-21 19:04 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-23 01:05 , Processed in 0.216120 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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