Excel精英培训网

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

[已解决]vba 循环执行同一段代码,变量是行数,直到前一列最后一行非空,求大神帮忙写一下

[复制链接]
发表于 2017-5-30 19:57 | 显示全部楼层 |阅读模式
以下是那段循环的代码:
Range("F2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-2]-SUMIF(C[-4],RC[-4],C)<1,0,IF(RC[-2]-SUMIF(C[-4],RC[-4],C)<RC[-1],RC[-2]-SUMIF(C[-4],RC[-4],C),RC[-1]))"
    Range("F2").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

本人是VBA小白,不会用循环,求大神帮忙,万分感谢~~~~~
最佳答案
2017-5-31 14:20
Range("F2:F" & [a65536].End(3).Row).FormulaR1C1 = _
        "=IF(RC[-2]-SUMIF(C[-4],RC[-4],C)<1,0,IF(RC[-2]-SUMIF(C[-4],RC[-4],C)<RC[-1],RC[-2]-SUMIF(C[-4],RC[-4],C),RC[-1]))"
    Range("F2:F" & [a65536].End(3).Row) = Range("F2:F" & [a65536].End(3).Row).Value
End Sub

测试代码.rar

53.24 KB, 下载次数: 15

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-5-31 14:20 | 显示全部楼层    本楼为最佳答案   
Range("F2:F" & [a65536].End(3).Row).FormulaR1C1 = _
        "=IF(RC[-2]-SUMIF(C[-4],RC[-4],C)<1,0,IF(RC[-2]-SUMIF(C[-4],RC[-4],C)<RC[-1],RC[-2]-SUMIF(C[-4],RC[-4],C),RC[-1]))"
    Range("F2:F" & [a65536].End(3).Row) = Range("F2:F" & [a65536].End(3).Row).Value
End Sub
回复

使用道具 举报

 楼主| 发表于 2017-6-4 18:25 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 23:29 , Processed in 0.323193 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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