【发布时间】:2017-03-01 21:44:08
【问题描述】:
我的 xlSheet 中有 3 列
Year GapYear Col3
Year 13 Yes 2018
Year 12 No
Year 13 Yes
Year 12 No
我希望 vba 根据我的 if 语句逻辑计算 col3 中的开始年份:
Sub startYear()
Dim Year As Range
Set Year = Range("A2")
Dim GapYear As Range
Set GapYear = Range("B2")
Dim Col3 As Range
Set Col3 = Range("C2")
lastRow = ActiveWorkbook.ActiveSheet.UsedRange.Rows.Count
For Row = 1 To lastRow
If Year = "Year 13" And GapYear = "Yes" Then Col3 = "2018"
If Year = "Year 13" And GapYear = "No" Then Col3 = "2017"
If Year = "Year 12" And GapYear = "Yes" Then Col3 = "2019"
If Year = "Year 12" And GapYear = "No" Then Col3 = "2018"
Next Row
End Sub
代码只计算单元格 C2,不会向下移动计算其他行。我尝试将范围更改为整列,例如Range("C:C") 但我收到类型不匹配错误。我还尝试在 for 循环中添加 activecell.offset(1,0),这会将 activecell 向下移动,但单元格 C3 保持空白。
我在 A (Year) 和 B (GapYear) 列中有数百个条目,如何让代码遍历每一行并在 col3 中给出正确答案?
谢谢
【问题讨论】:
标签: excel vba if-statement for-loop