Excel精英培训网

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

求老司机带路,求加减0,1,2,3,4,5的VBA代码,谢谢!

[复制链接]
发表于 2019-11-10 00:32 | 显示全部楼层 |阅读模式
2学分
UC截图20191110000455.png
2019年11月9日加减012345.rar (8.25 KB, 下载次数: 5)

最佳答案

查看完整内容

Sub test() Dim rng As Range, i% For i = 5 To .End(xlUp).Row For Each rng In Range(Cells(i, "d"), Cells(i, "AY")) rng = Cells(i, "b").Value + rng.Offset((4 - i), 0).Value Next rng Next i End Sub
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2019-11-10 00:32 | 显示全部楼层
Sub test()
   Dim rng As Range, i%
   For i = 5 To [b1048576].End(xlUp).Row
      For Each rng In Range(Cells(i, "d"), Cells(i, "AY"))
         rng = Cells(i, "b").Value + rng.Offset((4 - i), 0).Value
      Next rng
   Next i
End Sub

2019年11月9日加减012345.zip

14.56 KB, 下载次数: 2

评分

参与人数 2学分 +4 收起 理由
心云德乐 + 2 学习
cutecpu + 2 兄弟VBA猛猛的,要向您學習!

查看全部评分

回复

使用道具 举报

发表于 2019-11-10 05:21 | 显示全部楼层
您好,
因為VBA我不熟
用函數公式行嗎

祝順心,南無阿彌陀佛



回复

使用道具 举报

发表于 2019-11-13 16:22 | 显示全部楼层
  1. Sub test()
  2. [d5:ay22] = [b5:b22].Value
  3. [d5:ay22] = [d5:ay22+d4:ay4]
  4. End Sub
复制代码

评分

参与人数 1学分 +2 收起 理由
心云德乐 + 2 我和小伙伴都惊呆了

查看全部评分

回复

使用道具 举报

发表于 2019-11-13 17:08 | 显示全部楼层
还可以简化一下
  1. Sub test()
  2. [d5:ay22] = [b5:b22+d4:ay4]
  3. End Sub
复制代码

评分

参与人数 1学分 +2 收起 理由
0126 + 2 学习

查看全部评分

回复

使用道具 举报

发表于 2019-11-13 17:19 | 显示全部楼层
最大行列数动态时:
  1. Sub test_1()
  2. Dim r&, c&, ads1$, ads2$
  3. r = Cells(Rows.Count, 2).End(3).Row
  4. c = Cells(4, Columns.Count).End(1).Column
  5. ads1 = Range([b5], Cells(r, "b")).Address
  6. ads2 = Range([d4], Cells(4, c)).Address
  7. Range(Cells(5, "d"), Cells(r, c)) = Evaluate(ads1 & "+" & ads2)
  8. End Sub
复制代码

评分

参与人数 1学分 +2 收起 理由
心云德乐 + 2 我和小伙伴都惊呆了

查看全部评分

回复

使用道具 举报

发表于 2019-11-13 17:23 | 显示全部楼层
也可以简化成一句,就是太难看了。
  1. Range(Cells(5, "d"), Cells(Cells(Rows.Count, 2).End(3).Row, Cells(4, Columns.Count).End(1).Column)) = Evaluate(Range([b5], Cells(Cells(Rows.Count, 2).End(3).Row, "b")).Address & "+" & Range([d4], Cells(4, Cells(4, Columns.Count).End(1).Column)).Address)
复制代码

评分

参与人数 2学分 +4 收起 理由
心云德乐 + 2 神马都是浮云
0126 + 2 学习

查看全部评分

回复

使用道具 举报

发表于 2019-11-13 18:35 | 显示全部楼层
本帖最后由 0126 于 2019-11-13 18:46 编辑

照大灰狼老师7楼代码修改的,有点强迫症看不惯太多重复引用{:9_319:}
With range("d5", Cells(Cells(Rows.Count, 2).End(3).row, Cells(4, Columns.Count).End(1).Column))
    .Value = Evaluate(.Columns(-1).Address & "+" & .Rows(0).Address)
End With

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 10:01 , Processed in 0.241232 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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