У меня есть электронная таблица, вот ее фрагмент:
![enter image description here](https://i.stack.imgur.com/uzsIN.png)
В идеале, когда я добавляю дату в colC, различные столбцы автоматически заполняютдаты до последней строки с датой закрытия.Вот мой код (в нем также есть сортировка, которая работает нормально);Часть, после которой я определяю lastDrag
, - вот где проблема, я думаю:
Private Sub Worksheet_Change(ByVal Target As Range)
'On Error Resume Next
Dim firstRow As Long
Dim insRow As Long
Dim lastRow As Long
If Not Intersect(Target, Range("A:AC")) Is Nothing Then
With ActiveWorkbook.ActiveSheet
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add(Range("AC1:AC" & lastRow), _
xlSortOnCellColor, xlDescending, , xlSortNormal).SortOnValue.Color = RGB(191, 191, 191)
' ^^ sorts the "gray" (closed) exchanges at the bottom)
.Sort.SortFields.Add Key:=.Range("AC1:AC" & lastRow), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
' ^^ sorts closed files by file close date
.Sort.SortFields.Add Key:=.Range("C1:C" & lastRow), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
' ^^ sorts open files by RQ close date
' THIS IS WHERE CONDITIONS SHOULD BE
' IF no id has been entered, sort by...
' IF id has been entered, sort by...
.Sort.SortFields.Add(Range("K1:K" & lastRow), _
SortOn:=xlSortOnCellColor, Order:=xlDescending, DataOption:=xlSortNormal).SortOnValue.Color = xlNone
' ^^ makes sure that the non-colored rows are sorted??
With .Sort
.SetRange Range("A1:AC" & lastRow)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
lastDrag = .Cells(.Rows.Count, "C").End(xlUp).Row
Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D" & lastDrag), Type:=xlFillDefault
' ^^ this seems to work but it loops forever...
End With
End If
End Sub
В настоящее время кажется, что Excel автоматически заполняется снова и снова, пока не произойдет сбой.Почему?
Есть ли способ получить его для автозаполнения столбцов D, E, H, J и т. Д. (Т. Е. Группы несмежных столбцов) - все в одном кадре?У меня было что-то вроде Range("D2,E2,H2..." & lastDrag)...