使用基于多个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") 

根据需要填写。

在这里输入图像说明