我在下面写了这个宏来检查相邻列中两个日期之间是否有间隔,然后插入列来填补这个空白。扩展最后一列Excel VBA
我希望它能够在工作表上的尽可能多的列上运行它,但由于某种原因,DateRange卡在工作表的初始大小上,并且不考虑附加列宏一直在增加。我从来没有遇到过这个问题,所以我很难过!
任何人都知道我能做些什么来解决这个问题?
Sub weekendsouts()
Dim OUTSDATA As Worksheet, LastColumn As Long, _
DateCell As Range, DateRange As Range
Set OUTSDATA = Worksheets("OUTS DATA")
LastColumn = OUTSDATA.UsedRange.Columns.Count
Set DateRange = OUTSDATA.Range(OUTSDATA.Cells(2, 8), OUTSDATA.Cells(2, LastColumn).Address)
For Each DateCell In DateRange
With DateCell
If .Value <> "" Then
If .Offset(0, 1).Value <> .Value + 1 And .Offset(0, 1).Value <> .Value Then
.Offset(0, 1).EntireColumn.Insert
.EntireColumn.Copy Destination:=.Offset(-1, 1)
.Offset(0, 1).Value = .Offset(0, 1).Value + 1
End If
End If
End With
Next DateCell
End Sub
您将要使用标准循环和循环返回病房'For LastColumn to 8 Step - 1' –
@ScottCraner今天第二次这有happ ened给我。在阅读你的评论之前,我写下了我的答案。我很快就会得到一个不好的代表:s –