Excel精英培训网

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

[已解决]乘法 除法cba计算

[复制链接]
发表于 2023-3-31 23:43 | 显示全部楼层 |阅读模式
本帖最后由 龙送农1 于 2023-4-2 21:55 编辑

1、在F7:F=非空单元格D列乘以E列得到的数据,并保留两位小数(如F列公式);
2、在G7:G=非空单元格E列除以单元格$H$4得到的数据,并保留两位小数(如G列公式).
哥儿老师写:
Sub 计算出库单金额和人均食材()
  Dim vArr, i%
    Sheet4.Range("F6:G10000").ClearContents
    vArr = Sheet4.Range("A5").CurrentRegion.Offset(3)
    If Sheet4.[h4] = "0" Then
        MsgBox "单元格H4没有填写数据!请填写数据。"
        Sheet4.[h4].Select
        End
    End If
    For i = 4 To UBound(vArr)
        If Len(vArr(i, 2)) Then
            vArr(i, 6) = Round(vArr(i, 4) * vArr(i, 5), 2)
            vArr(i, 7) = Round(vArr(i, 5) / vArr(1, 8), 2)
            vArr(3, 6) = vArr(3, 6) + vArr(i, 6)
            vArr(3, 7) = vArr(3, 7) + vArr(i, 7)
        End If
    Next i
    Sheet4.Range("A5").CurrentRegion.Offset(3) = vArr
'    MsgBox "OK!"

End Sub


最佳答案
2023-4-2 13:54
龙送农1 发表于 2023-4-2 13:42
老师:我加了一些表头后,无法运行,麻烦老师再看看。

看下

乘法 除法cba计算.zip

16.8 KB, 下载次数: 3

发表于 2023-4-1 07:59 | 显示全部楼层
楼主,您这新提出的问题,跟您另一贴(http://www.excelpx.com/forum.php?mod=viewthread&tid=471826)的问题不是几乎一模一样吗?

为何不套用那方法去解决呢?
回复

使用道具 举报

 楼主| 发表于 2023-4-1 23:25 | 显示全部楼层
vitrel 发表于 2023-4-1 07:59
楼主,您这新提出的问题,跟您另一贴(http://www.excelpx.com/forum.php?mod=viewthread&tid=471826)的问 ...

老师:乘法照着那个思路可以套用。我刚学,很多东西多不懂,除法我做不来,麻烦老师帮看怎样实现。谢谢!
回复

使用道具 举报

发表于 2023-4-2 01:41 | 显示全部楼层
供参考……

乘法 除法cba计算.zip

24 KB, 下载次数: 1

回复

使用道具 举报

 楼主| 发表于 2023-4-2 10:32 | 显示全部楼层
本帖最后由 龙送农1 于 2023-4-2 10:33 编辑

老师:你写的cba已经达到效果,当H4没有数据时,如何结束运行?帮我加一下。
LB1X@RP$_OU48[S[9SWUD[D.png
回复

使用道具 举报

发表于 2023-4-2 12:17 | 显示全部楼层
龙送农1 发表于 2023-4-2 10:32
老师:你写的cba已经达到效果,当H4没有数据时,如何结束运行?帮我加一下。

为什么判断B4?看下是不是这样吧

Sub test()
    Dim vArr, i%
    Sheet1.Range("F6:G10000").ClearContents
    vArr = Sheet1.Range("A5").CurrentRegion
    If Sheet1.[h4] = "" Then
        MsgBox "单元格H4没有填写数据!请填写数据。"
        Sheet1.[h4].Select
        End
    End If
    For i = 4 To UBound(vArr)
        vArr(i, 6) = Round(vArr(i, 4) * vArr(i, 5), 2)
        vArr(i, 7) = Round(vArr(i, 5) / vArr(1, 8), 2)
        vArr(3, 6) = vArr(3, 6) + vArr(i, 6)
        vArr(3, 7) = vArr(3, 7) + vArr(i, 7)
    Next i
    Sheet1.Range("A5").CurrentRegion = vArr
    MsgBox "OK!"
End Sub


回复

使用道具 举报

 楼主| 发表于 2023-4-2 13:42 | 显示全部楼层
哥儿- 发表于 2023-4-2 12:17
为什么判断B4?看下是不是这样吧

Sub test()

老师:我加了一些表头后,无法运行,麻烦老师再看看。

乘法 除法cba计算2.rar

34.87 KB, 下载次数: 1

回复

使用道具 举报

发表于 2023-4-2 13:54 | 显示全部楼层    本楼为最佳答案   
龙送农1 发表于 2023-4-2 13:42
老师:我加了一些表头后,无法运行,麻烦老师再看看。

看下

乘法 除法cba计算2.rar

32.19 KB, 下载次数: 4

回复

使用道具 举报

 楼主| 发表于 2023-4-2 21:06 | 显示全部楼层

谢谢老师,辛苦了!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 14:56 , Processed in 0.348661 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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