如何在此excel表中编写for循环和if语句

时间:2015-01-20 02:09:30

标签: excel vba excel-vba

我获得了包含数千条记录的excel表格。我没有手动操作,而是考虑在VBA中编写 For Loop If Statement ,但我不知道如何。

首先,取Date_Key,如果它在Start DateEnd Date内,请在Current_Month打印Period

然后转到下一个Date_Key并重复。但是,如果此Date_Key与之前的Current_Month相同且前一个Start Date已被使用,请转到下一组End DateStart Date,如果它在End Date内{1}}和Current_Month,使用此Period并将其插入 |------ THIS IS A REFERENCE TABLE ------| ------------------------------------------------------------- | Period | Date_Key | Current_Month | Start Date | End Date | ------------------------------------------------------------- | | 20130914 | 2014 P02 | 20121001 | 20130929 | ------------------------------------------------------------- | | 20130914 | 2014 P03 | 20121029 | 20131027 | ------------------------------------------------------------- | | 20130914 | 2014 P04 | 20121203 | 20131201 | ------------------------------------------------------------- | | 20130926 | 2014 P05 | 20121231 | 20131229 | ------------------------------------------------------------- | | 20130926 | 2014 P06 | 20130128 | 20140126 | -------------------------------------------------------------

有人可以帮我这个吗?非常感激!非常感谢你。

                    |------ THIS IS A REFERENCE TABLE ------|
-------------------------------------------------------------
| Period | Date_Key | Current_Month | Start Date | End Date |
-------------------------------------------------------------
|2014 P02| 20130914 | 2014 P02      | 20121001   | 20130929 |
-------------------------------------------------------------
|2014 P03| 20130914 | 2014 P03      | 20121029   | 20131027 |
-------------------------------------------------------------
|2014 P04| 20130914 | 2014 P04      | 20121203   | 20131201 |
-------------------------------------------------------------
|2014 P02| 20130926 | 2014 P05      | 20121231   | 20131229 |
-------------------------------------------------------------
|2014 P03| 20130926 | 2014 P06      | 20130128   | 20140126 |
-------------------------------------------------------------

预期结果:

{{1}}

1 个答案:

答案 0 :(得分:0)

我不打算为你编写整个程序,但如果你想要的只是一个简单的For块和If块的例子:

For i = 1 To 1000
    If (ActiveSheet.Cells(1, i) = 1) Then
        'do something
    End If
Next

我建议学习VBA,例如通过谷歌。