0
以下代码仅适用于c = 2
,但我希望它也适用于其他值。下面是我想要运行它的Excel表格。在Excel VBA中嵌套for循环
Date PickupCost StorageCost DeliveryCost
1/1/2017 140 35 0
1/8/2017 80 20 0
1/10/2017 0 0 149
1/30/2017 35 8 0
我要填写每个日期失踪,但只在第3栏(StorageCost
)值的数据需要在其他失踪日期值前一天的StorageCost
值相同。
Dim j, p, w, c As Long
Dim date1, date2 As Date
j = Cells(Rows.Count, 1).End(xlUp).Row
w = 2
For c = w To j
date1 = Range("A" & w).Value
date2 = Range("A" & (w + 1)).Value
p = DateDiff("d", date1, date2)
For w = 2 To p
Range("A" & (c + 1)).EntireRow.Insert
ActiveSheet.Cells(c + 1, 1).Value = (ActiveSheet.Cells(c, 1).Value) + 1
ActiveSheet.Cells(c + 1, 2).Value = 0
ActiveSheet.Cells(c + 1, 3).Value = ActiveSheet.Cells(c, 3).Value
ActiveSheet.Cells(c + 1, 4).Value = 0
c = c + 1
Next w
w = w + 1
ActiveSheet.Range("A1").Select
j = Cells(Rows.Count, 1).End(xlUp).Row
Next c
什么是C应该是和你在哪里初始化呢? –
c是基于哪个循环需要运行的次数的计数器,以便需要计算在前一行的行和日期的每个日期组合之间的间隙。它是根据w的值初始化的。 –
请解释你想要做得更好 - 我不明白。 “数据缺失”是否为0值?你能举一个你想要结果的例子吗? – user1274820