自动填充宏

时间:2018-03-20 14:17:19

标签: excel vba

我有一项任务是创建一个用以下数据填充列的循环: A列应填充1到10000之间的数字, B列应填入今天的日期并以数字递增, C列应填充一周中的一天,每周重复1到7次, D列应该填充星期一到星期日的一周中的一天(文本)。

我认为这可以通过For ... Next循环来实现。更复杂的是日期...... 你能不能给我一个如何解决这个问题的提示? 谢谢你

1 个答案:

答案 0 :(得分:0)

试试这个

Sub mm()
    Dim i As Long
    Dim weekDayNames As Variant
    With Range("A1:A10000")
        .Formula = "=ROW()"
        .Offset(, 1).FormulaR1C1 = "=Today()+RC1-1"
        .Offset(, 2).FormulaR1C1 = "=WEEKDAY(RC2,1)"
        With .Offset(, 1).Resize(, 2)
            .Value = .Value
        End With
        weekDayNames = Application.Transpose(.Offset(, 2).Value)
        For i = 1 To UBound(weekDayNames)
            weekDayNames(i) = WeekdayName(weekDayNames(i), False, vbSunday)
        Next
        .Offset(, 3).Value = Application.Transpose(weekDayNames)
    End With
End Sub