excel怎么用VBA代码实现下面的效果?请高手指点!

数据从第三行开始:在A1列是每五行一个循环;B列单元格数据等于上一行C列单元格数据;同时C列单元格数据等于同一行B列数据加上25(注意最后一行不是);意思就是已知第一个数123和最后一个数487,要按照A列编号,每次递增25,直到结果超过487时就按照487算;;;不知道有没有讲清楚,要是看不明白还可以问我哈,,,本人初学求高手指点!!

第1个回答  2014-04-29
事实上 你这个问题 使用 公式 就可以了 其实 每个单元格的数值 都是上一个单元格加25 !只不过 最后的 C17 不是这样子 你自己修改一下就可以了 干嘛要用VBA哪
B3 你自己输入数据 B4 =B3+25、C3 =B3+25 向下复制……
A3 ==ROUNDUP(ROW(A1)/5,0)&"-"&IF(MOD(ROW(A1),5)=0,5,MOD(ROW(A1),5)) 向下复制……
如果你一定要使用VBA的话 你再详细说说 具体的限制!然后再追问
第2个回答  2014-04-29
Sub xxx()
Dim i, j, x, y
x = 123
y = 3
For i = 1 To 3
For j = 1 To 5
Cells(y, 1) = "'" & i & "-" & j
Cells(y, 2) = x
x = x + 25
If x > 487 Then x = 487
Cells(y, 3) = x
y = y + 1
Next j
Next i
End Sub追问

谢谢,,你这个是可以用的,,厉害啊!不过还不完全是我要的效果,,问题还在最后一个数,你看如果是这样呢??

追答

你这个绝对不是我的代码,或者你粘贴错了地方,我的代码结果后面全部是487,你说超过487就算487的。

追问

我知道哦,,我就是说如果把最后一个数改成540,你之前的代码就不是我要的效果了哦,(最后两个数之差不超过25,)能把代码改一下吗,假设最后一个数是540;;;最好是编一个能适合任意起止数的

追答

不是很明白你的意思哦,我只有猜,你看看程序中下面的两行代码:
x=x+25
If x > 487 Then x = 487
修改为下面这样的:
if x+25<540 then x=x+25
这样最后一个就是523,如果你需要最后一个是548,那么语句为:
if x<540 then x=x+25

追问

感觉你挺厉害的,回答的也快,,我先采纳你的答案了,,希望你能帮我再完善一下,,给你看个附图

追答

始终不是很明白你的意思,最后一个差不为25究竟是不是满足你的要求,你看看吧,最好自己理解语句,想怎么修改就怎么修改。

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网