我需要一些帮助来设置此vba。 我想添加一个缺少日期和驱动程序的单元格。 例如。
10/29/2018 Name Item driver
10/30/2018 Name Item driver
(add missing date here, no available , no available and driver)
11/02/2018 Name Item driver
如果缺少日期,并且驱动程序也缺少添加日期。
我希望这会有所帮助。
答案 0 :(得分:1)
下面的代码假定值以A2开头,并且所有相关数据都按顺序存储,例如B-D列。这将插入一行并填写数据,以便每个日期都有一个条目。如果您要处理大量数据,则可能需要添加通常的Application.calculation=xlmanual
和application.screenupdating = false
来加快速度。完成操作后,请务必将其重置为默认状态
Option Explicit
Sub datefiller()
Dim i As Long
Dim lastdate As Long
Dim startDate As Long
Dim TotalRows As Long
i = 2
With ThisWorkbook.Worksheets(1)
While Not IsEmpty(.Range("A" & i).Value)
If Not .Range("A" & i).Value = .Range("A" & i - 1).Value + 1 Then
.Range("A" & i).EntireRow.Insert shift:=xlDown
.Range("A" & i).Value = .Range("A" & i - 1).Value + 1
.Range("B" & i & ":C" & i).Value = "N/A"
.Range("D" & i).Value = "driver"
Else
i = i + 1
End If
Wend
End With
End Sub
编辑:添加驱动程序名称并说明不同的分组
Option Explicit
Sub datefiller()
Dim i As Long
Dim lastdate As Long
Dim startDate As Long
Dim TotalRows As Long
i = 3
With ThisWorkbook.Worksheets(1)
While Not IsEmpty(.Range("A" & i).Value)
If (Not .Range("A" & i).Value = .Range("A" & i - 1).Value + 1) And .Range("D" & i).Value = .Range("D" & i - 1).Value Then
.Range("A" & i).EntireRow.Insert shift:=xlDown
.Range("A" & i).Value = .Range("A" & i - 1).Value + 1
.Range("B" & i & ":C" & i).Value = "N/A"
.Range("D" & i).Value = .Range("D" & i - 1).Value
Else
i = i + 1
End If
Wend
End With
End Sub