使用基于多个variables的VBA填充Excel 2013中的列
我有三栏。 列A显示从2016年1月1日到年底的每个date。 B列当前为空。 列C显示了一个手动input的date(它可以并经常改变(手动)。
我想要一个Sub(通过一个button),当按下时,将根据列A的同一行中的值是否大于列C中显示的值来填充列B的“Yes”或“No”值。
例如,由于A1(1/1/2016)小于C1(1/4/2016),所以B1应显示“否”。 鉴于A5(1/5/2016)大于C1并应显示“是”。
ABC 1/1/2016 1/4/2016 1/2/2016 1/3/2016 1/4/2016 1/5/2016 1/6/2016
应该成为
ABC 1/1/2016 No 1/4/2016 1/2/2016 No 1/3/2016 No 1/4/2016 No 1/5/2016 Yes 1/6/2016 Yes
我对VBA更新,并没有看到任何与此直接相关的问题,所以任何简单的VBAbuild议都是很好的学习。
通常情况下,没有尝试编写答案的问题是不合适的,但这应该是一个容易的问题,希望能给你足够的帮助,以便将来可以开始解决这些问题。 尝试添加
'Col A = Col 1, Col B = Col 2, etc. 'Cells(row num, col num) finalRow = Cells(1000000,1).end(xlup).row for i = 1 to finalRow if cells(i,1) < cells(i,3) then cells(i,2) = "No" else cells(i,2) = "Yes" end if next i
到你的VBA编辑器。
你可能只想创build一个正常的单元格function。 inputB1
=IF(A1>C1,"Yes","No")
将该函数复制到B列中的所有单元格,并得到结果
在B2中使用以下内容,
=CHOOSE((A2>INDEX(C:C, MATCH(1E+99,C$1:C2 )))+1, "No", "Yes")
根据需要填写。