问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

excel里如何用vba实现如下图所示的凑数功能?

发布网友 发布时间:2022-04-22 10:36

我来回答

1个回答

热心网友 时间:2023-11-01 18:43

看过这个表,有两点意见:

由于不知道你双击时有哪些组合已经产生过了(因为你可以点击几次后关闭操作,第二天打开继续操作)所以,【穷尽组合】唯一可能就是对应你指定的H列单元格(也就是某个合计值),计算在各种组合下,A列的余数。。。照这个思路,其实,你需要的是对应这A~G的七列的总共144种组合,你只要测试某个合计数能不能满足分配就可以了的。分配时,A列作为最后的分配余额接受点。你的问题就很容易解决了。

至于填充颜色方面,不知道你的样例中的前三行中为什么有些单元格不填色,不知道逻辑。建议你建立一张7列144行的表,对于你的这个问题而言,其实这张表是固定的。然后在某个固定单元(比如A1)输入合计值,让公式自动完成每一种组合下A列各行的值。并设立条件格式,如果A列在100~200之间(也就是合计值成功分配在总分配阀值中),就把整行染*,如果A列小于100(也就是合计值少于需要的分配值),就染蓝色,如果A列大于200(也就是合计值太多了没法全部分配),就不染色。

以上,针对你的问题这个问题就解决了,不必要去编写宏代码(当然,要想精确生成这张表,既可以手工也可以写段代码完成,貌似手工还会比较快呢)

追问不好意思把问题说的复杂了,其实就是根据确定的合计数和充电宝的数,寻找A到G列充电宝数和各个相对固定数之和等于合计数的单元格并将其染色,如果有多种组合,双击合计数这一栏某一个单元格,自动循环用颜色标示该单元格所在行的各种组合

追答

如图,

一、你必须在第一行设定原始参数的结构:

B1:任意自定义参与分配数据的起始行(这里是商品A所在行:3)

D1:任意自定义所有参与分配的商品的个数(示例中为:9)

二、第二行的每个单元,你可以自己设定总分配值(500/600/715/311……)

三、第三行起,是每个参与分配的商品(个数必须符合D2指定,否则结果没法预料)的设定分配数

1)除了第一个商品外,所有的商品的分配方式(任意N种),每种分配的数量和次序都可以自定义,你只要保证每个商品分配数量安排结束后的右边一个单元格为空

(注意:空的意思和0是不一样的,空:如果曾经输入过数据,选中单元格然后按Del键就是空单元格了)

2)第一个商品,作为分配数量调整商品,你也可以自行设定它的数值,并将作为分配结果是否完成的判断依据。在结果中:

2.1)小于0或者大于该设定值,整个结果不染色;

2.2)结果大于零并且小于等于该设定值,整个结果会被染成*。

四、运行时双击第二行你自己定义的总分配数即可,下面会列出所有可能的组合,并根据商品A的设定值判断每个分配结果是否在范围内

详细请看附件

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 如何使用Excel搜索多个数据并自动填充求和 win10怎么看自己电脑是不是支持64位系统 如何用EXCEL做一个自动求和按钮! win10如何查电脑是32位还是64位 支付宝怎么更换手机号码? 准备买块2070 SUPER魔龙显卡,这个配8700k的u用多大电源好? 如果支付宝、需要更换手机号码怎么办? 支付宝账号是手机号,现在换号码了账号还能用吗 换号码了支付宝怎么登? 你好,支付宝换号码,怎么弄? 支付宝换手机号码怎么换 GT630M相当于台式机的那款显卡? 农村土炕怎么建 gt630m显卡参数 农村怎么搭炕才能让上面的泥不裂缝? 显卡GT 630M和GT 630是一样的吗,它们怎么样 农村土炕怎么搭狗窝? 请问;GT630M显卡和GT550M显卡哪个好点?好在哪里? 农村火炕被老鼠堵了怎么办? gt630m和gt635显卡一样吗?都怎么样? win10 如何查看是64位的还是32 excel中怎样从一列众多数据中挑选出一些需要挑选出的数据 win10如何查询系统是32位还是64位 结婚多少年是钻石婚/金婚/银婚 幼儿园国庆节目手里能拿什么 国庆节可以表演什么节目? 幼儿园国庆早操表演活动文章怎么写 404 Not Found 1.将两个西红柿切成小块2.然后往锅里放两勺油,接着将西红柿放入锅里翻炒,然后加一碗水。3.水开后 将两个西红柿切成小块,然后往锅里放两勺油,接着将西红柿放入锅里翻炒,然后加一碗水,水开后放入面, 请根据以下提示 用英语介绍一下西红柿鸡蛋面的做法 不少于80词 把西红柿切成块瓜和鸡蛋倒在锅里 将两个西红柿和一些熟牛肉切成小块 用英语怎么说?? 如何把番茄熬成浓汤 西红柿怎么切不流汁 滚刀块怎么切 徐州江苏银行大额存单能提前支付吗? 西红鸡蛋汤怎么做?西红柿该怎么切 西红柿打卤面怎么做呢 两个西红柿怎么做好吃 清洗两个西红柿并将西红柿切成片英语