问题1:如何编写VBA代码以完成此任务,并且最重要的是,将公式复制到列N的所有单元格?在Excel中复制单元格VBA:删除框和公式交互
L行,从第13行开始(L13)。在此栏中,用户将通过从位于每个单元格中的下拉框中选择三种可能性的数组来通知货币。他们是字母和定义为词“真实”或“美元”或“欧元”)
列男,来自管线13从这里开始,用户将开关输入一些
列N,也从第13行开始。本专栏将计算投资。的细胞在此列中的属性被设置为 “货币”)
I $ 3 = 2,42(恒定美元)
I $ 4 = 3.30(恒定欧元)
J列,从管线13开始这是被分析项目的数量(玉米粒,大米袋等)
规划算法
==================
该代码将检查单词“真”或“元”或“欧洲”是存在于柱的细胞L. *如果存在“美元”,那么它会乘以恒定的美元乘以用户提示的数字* (商品价值)乘以列M的单元格中的数量。结果将放置在单元格中N列,它总是在 “真实”
如果L13 = “美元” 然后
N13 = J13 * M13 * I $ 3
否则
如果L13 = “真” 然后
N13 = J13 * M13
否则
如果L13 = “欧元” 然后
N13 = J13 * M13 * I $ 4
否则
N13 = “0” 和M13 = “0”
问题2:还有关于下拉框,假设我想要N列中的总金额,并且它的单元格只在它们单独匹配某些条件时才会相加。这里是用户拿起从下拉框继承的符号的示例(4个可能的Wigdings符号:&,x,+)
Z1 = SUMIF(B13:B300;“= +”; N13: N300)
(interval; criteria; interval sum)。这意味着单个单元格Z1包含属于列N的所有单元格的总数,条件是列B拥有上述符号。然而,这不起作用。它总是给我零值。然而,有趣的是要注意,如果我用字母(a,b,c,d)代替(I,&,x,+),Z1会收到一个非零值。并非所有字母都能正常工作,正如我们上面的字母“x”所看到的那样。
嗯......你的具体问题是什么? – lowak
如果'A5 =“Real”'不应该赋值为'Dn = Bn/E $ 1'。您是否需要一个公式,以便在用户更改源值时计算值发生变化?如果源值不会更改,VBA可以计算值而不是植物公式。 –
经过一些试验和错误之后,我设法想出了一个解决方案。见下文 –