excel 用 vba 结合公式给单元格赋值

我想把每个工作表中D、E列剩以0.0015换成亩的单位,应该怎么写vba呢?或者怎么做简单一点呢,请高手赐教。。。。分另外加上,谢谢。。。(图中只显示了长江村,还有沙冲村... 我想把每个工作表中D、E列剩以0.0015换成亩的单位,应该怎么写vba呢?或者怎么做简单一点呢,请高手赐教。。。。分另外加上,谢谢。。。
(图中只显示了长江村,还有沙冲村、旺坡村等几个村的工作表。。)
刚刚加上图片,谢谢,ouyangff和同意所有条款的回答,可是我每个表里面的款项长短不一,而且有的很长,一下子要拉好几百条的都有,所以最好能用vba稍稍编辑一下给我,还望再赐教。。。谢谢
展开
 我来答
表里如一
2011-01-22 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11638
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部
要vba找我..单击我的名字看联系方式.
编辑VBA需要你的原始文件,若你的文件涉及企业机密,可以修改内容.
记住,不要动格式.

最后的代码:
Sub cheng()
Dim i, j
For Each c In ThisWorkbook.Sheets
With c
j = .Range("J65535").End(xlUp).Row
For i = 6 To j
.Cells(i, 10) = Round(.Cells(i, 10) * 0.0015, 2)
.Cells(i, 11) = Round(.Cells(i, 11) * 0.0015, 2)
Next
End With
Next
End Sub
同意所有条款
2011-01-22 · TA获得超过3293个赞
知道小有建树答主
回答量:1147
采纳率:100%
帮助的人:462万
展开全部
右击任意一个工作表名称,选择全选工作表,然后按照ouyangff的办法去做。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
太极健1969
2011-01-22 · TA获得超过9034个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3628万
展开全部
你运行一下这个宏,所有表的这两列从第四行开始到最后一行,全部乘0.0015
Sub 换成亩()
Dim R As Long
Dim x As Long
Dim y As Long
For x = 1 To Sheets.Count
With Sheets(x)
.Cells(3, 4) = Application.Substitute(.Cells(3, 4), "平方米", "亩")
.Cells(3, 5) = Application.Substitute(.Cells(3, 5), "平方米", "亩")
R = .Range("D65536").End(xlUp).Row
For y = 4 To R
.Cells(y, 4) = .Cells(y, 4) * 0.0015
.Cells(y, 5) = .Cells(y, 5) * 0.0015
Next y
End With
Next x
End Sub
修改一下楼上mamy老师的代码,更完善
Sub test()
Dim i, M, iRow, sh, arr
M = 0.0015
For Each sh In ThisWorkbook.Sheets
iRow = sh.[D65535].End(xlUp).Row
ReDim arr(1 To iRow, 1 To 2)
arr = sh.Range("D3:E" & iRow)
For i = 2 To UBound(arr)
arr(i, 1) = arr(i, 1) * M
arr(i, 2) = arr(i, 2) * M
Next
arr(1, 1) = Application.Substitute(arr(1, 1), "平方米", "亩")
arr(1, 2) = Application.Substitute(arr(1, 2), "平方米", "亩")
sh.Range("D3:E" & iRow) = arr
Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柯元青0in
2011-01-22 · TA获得超过282个赞
知道答主
回答量:302
采纳率:0%
帮助的人:229万
展开全部
Sub test()
Dim i, M, iRow, sh, arr
M = 0.0015
For Each sh In ThisWorkbook.Sheets
iRow = sh.[D65535].End(xlUp).Row - 1
arr = sh.Range("D4:E" & iRow)
For i = 1 To UBound(arr)
arr(i, 1) = arr(i, 1) * M
arr(i, 2) = arr(i, 2) * M
Next
sh.Range("D4:E" & iRow) = arr
Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式