清除除选定单元格以外的范围内容

时间:2018-10-18 08:54:51

标签: excel vba

我有一个范围,第1列是数字(£),第2列是日期,第3到7列也是数字。通常范围内大约有20行。如果我在范围的第1列中输入一个值,我想从上至下清除第1列的所有其他内容,但保留最后输入的值。然后,我想使用col 1中剩余的值的位置从该位置开始向下到范围的末端在col 3-7中开始求和。 我正在做的是在今天的第1栏输入我的银行结余,然后在第3-7栏进行各种金额等操作,以根据今天(有时为负数)的余额来查看月底我的贫困状况! 预先感谢大卫

1 个答案:

答案 0 :(得分:0)

我认为我已经使用VBA和公式对它进行了排序。 VBA会在H11-H30范围内找到当前位置,并为我保留当前位置,因为这是我在其他三列中求和的起点。

If Target.Row < Range("$H$11").Row Then Exit Sub
If Target.Column < Range("$H$11").Column Then Exit Sub
If Target.Row > Range("$H$30").Row Then Exit Sub
If Target.Column > Range("$H$30").Column Then Exit Sub

Range("C41").Value = ActiveCell.Row

我现在需要对每一行求和,我从顶部开始并求和到C41中的行(截至目前的余额),在行列向下时将ROW增加,即取我当前的银行余额H&(C41 ),增加贷方,减去借方,并给我一个平衡的余额。

= IF($ H12 <>“”,INDIRECT(“ $ H”&$ C $ 41)-SUM(INDIRECT(“ $ K $ 11”&“:”&“ $ K”&ROW()))+ SUM (INDIRECT(“ $ L12”&“:$ L”&ROW())),$ O11 + $ L12- $ K12)

但是,这仍然无法解决原始问题。输入银行余额时,例如在H15行,然后必须按回车并返回上一行以正确设置C41。另外,从外观上讲,我不希望H11-H30中剩余任何其他数字,只是在H15中输入的数字。最好在代码中的某个位置记住C41并在公式中检索它-将其放在单元格中然后将其读回对我来说似乎有点陌生!