我正在编写代码,以便在每个月的第一天更新库存电子表格。我对VBA知之甚少,但我理解编程的基础知识。请原谅我糟糕的代码。
问题是在初始的If语句检查之后,当为true时,它只运行它下面的行(添加一个新行),并且在编辑数据之后不执行For Loops。
Sub Auto_Open()
Dim stock(21)
If Date - Day(Date) + 1 = Date Then
Range("'Monthly Office Inventory'!A2").EntireRow.Insert
For i = 0 To 21
stock(i) = Range("Current Office Inventory'!A2").Offset(0, i).value
Next i
For x = 0 To 21
Range("'Monthly Office Inventory'!B14").Offset(0, x).value = stock(x)
Next x
End If
End Sub
答案 0 :(得分:0)
最简单的方法可能就是将条件改为:
If Day(Date) = 1 Then
现在,我在Mac上写这个,但我认为你会明白这个想法(如果有些细节错了就更正)。
答案 1 :(得分:0)
尝试使用此行工作表("每月办公室库存")。范围(" B14:W14")。值=工作表("当前办公室库存" ).Range(" A2:V2")。而不是你的循环
@simoco