我一直希望写一个宏,它对我来说是一个非常重复的任务,但进入VBA比预期的要难。当我有一些时间时,我将学习如何为宏编程宏,因为它看起来非常有用,但本周我不能花费5到12个小时。根据另一个单元值将公式写入单元格
也许这里有人可以帮助!
我有几个出类拔萃遵循此模式的文件:
Column C - Column D
--------------------
text | (empty)
number | (empty)
number | (empty)
text | (empty)
number | (empty)
text | (empty)
text | (empty)
number | (empty)
text | (empty)
number | (empty)
凡文本和数字交替随机几个细胞。我需要列d持有,列C时是一个数字,与以往数之差,否则就必须留空白:
Column C - Column D
--------------------
text | (empty)
3 | (empty)
14 | (=C3-C2) : 11
text | (empty)
16 | (=C5-C3) : 2
text | (empty)
text | (empty)
21 | (=C8-C5) : 5
22 | (=C9-C8) : 1
所以算法是:
var previousNumberCell
var i = 1
for all (selected) cells/rows
if (Row(i).column(C) holds number) {
Row(i).column(D).value = "=C"+i+"-"C"+previousNumberCell
previousNumberCell = i;
}
i++
End
我不在乎如果第一个或最后一个单元格不起作用。
非常感谢你的帮助,或者如果你能指出我在哪里可以找到答案。
编辑:这是一个简化版本的问题,有两件事我不知道如何做好与Excel宏:选择一个单元格,并告诉如果单元格是一个数字...记录,数字单元格已从文本转换为数字格式。
@Daren现在就试试。 –
在哪一行?它正在努力完成我的目标。 –
你做了*所有*更改(添加了几个&符号,并从设置公式的行中删除了'.Text')。 –